【发布时间】:2010-12-03 17:03:49
【问题描述】:
我想提示用户输入一些详细信息,然后稍后将其用作命令行参数。
【问题讨论】:
标签: input batch-file cmd
我想提示用户输入一些详细信息,然后稍后将其用作命令行参数。
【问题讨论】:
标签: input batch-file cmd
您可以将set 与/p 参数一起使用:
SET /P variable=[promptString]/P 开关允许您将变量的值设置为输入行 由用户输入。在读取前显示指定的 promptString 输入行。 promptString 可以为空。
所以,只需使用类似的东西
set /p Input=Enter some text:
稍后您可以将该变量用作命令的参数:
myCommand %Input%
但请注意,如果您的输入可能包含空格,那么引用它可能是个好主意:
myCommand "%Input%"
【讨论】:
cmd 解析器可见两次。 call set Input=%Input% 将是一种方式。这将被解析两次(由于call),第一次扩展%Input%,第二次扩展你在那里的任何环境变量。但这与这个问题或答案没有任何关系。
一个相当迂回的方式,只是为了完整:
for /f "delims=" %i in ('type CON') do set inp=%i
当然,这需要 ^Z 作为终止符,因此 Johannes 的答案在所有实际方面都更好。
【讨论】: