【发布时间】:2010-11-16 11:03:05
【问题描述】:
我有一个 Windows .bat 文件,我想接受用户输入,然后将该输入的结果用作调用其他命令的一部分。
例如,我想接受来自用户的进程 ID,然后针对该 ID 运行 jstack,将 jstack 调用的结果放入文件中。但是,当我尝试这个时,它不起作用。
这是我的示例 bat 文件内容:
@echo off
set /p id=Enter ID:
echo %id%
jstack > jstack.txt
这是 jstack.txt 中显示的内容:
输入 ID:终止批处理作业 (Y/N)?【问题讨论】:
-
"终止批处理作业 (Y/N)?"通常在 .bat 运行时按 ctrl-c 时显示。
-
Jstack.txt 将包含来自 jstack 的 输出 并且与您的批处理文件无关,而且您还没有说 Jstack 是什么。
-
这些答案都不起作用吗?如果没有,您找到解决方案了吗?如果你这样做了,如果你把它发布在这里作为自我回答会很有帮助。
-
如果你想要输入的固定选项,你最好使用
choice而不是set /p -
请将我的帖子标记为答案,其本质是在运行批处理程序时您按Enter而不是在提示符处提供ID,因此将%id%设置为@987654325 @ 而不是您应该从键盘提供的某个 ID。
标签: windows batch-file prompt