windows - 在 Windows cmd 中,如何提示用户输入并在另一个命令中使用结果?

标签 windows batch-file prompt

我有一个 Windows .bat 文件,我想接​​受用户输入,然后使用该输入的结果作为调用其他命令的一部分。

例如,我想从用户那里接受一个进程 ID,然后针对该 ID 运行 jstack,将 jstack 调用的结果放入一个文件中。但是,当我尝试这个时,它不起作用。

这是我的示例 bat 文件内容:

@echo off
set /p id=Enter ID: 
echo %id%
jstack > jstack.txt

这是 jstack.txt 中显示的内容:

Enter ID: Terminate batch job (Y/N)? 

最佳答案

试试这个:

@echo off
set /p "id=Enter ID: "

然后您可以使用 %id% 作为另一个批处理文件的参数,例如 jstack %id%

例如:

set /P id=Enter id: 
jstack %id% > jstack.txt

关于windows - 在 Windows cmd 中,如何提示用户输入并在另一个命令中使用结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1223721/

相关文章:

c++ - 将 unicode(?) 字符直接从源代码写入 WriteConsoleOutput

VBScript 和批处理交互

bash - 获取实际提示长度

command-line - 使用批处理文件将目录上的文件夹和子文件夹复制到另一个目录

javascript - 为什么提示后会执行音频?

colors - 是否可以自定义终结者的提示/主机名(用户@域)颜色?

C++ 停止显示位图

css - jQuery Mobile,将样式应用于 Windows Phone 上的动态内容(芒果)

c++ - 对话框的单独任务栏按钮

sql - table==1 是意外的此时批处理文件