我有一个可执行文件a(.exe),它从 DOS 输入获取参数。我认为在运行批处理文件时会很棒,它会提示用户输入并且该输入将设置为变量。不幸的是,我这个不太聪明的想法行不通。但我确信有办法。以下是我简单的意图
SET /p input=""
cls
(my program).exe %input%
当然,在这种情况下 DOS 不会转换该变量。如果有人可以通过一些链接来启发我来研究这个问题就足够了。提前非常感谢
如果您的程序采用参数或从 STDIN(“键盘”)获取输入,那就有区别了
如果需要参数,
myprogram.exe %input%
应该可以工作。
如果它从键盘(STDIN)获取输入,这应该有帮助:
echo %input%|myprogram.exe
或者让它从文件中输入:
myprogram.exe <myinputfile.txt
还有第三种可能性:myprogram.exe 有自己的“键盘手表”。对此没有简单的纯批处理解决方案。
试试这个:
@回声关闭
set /p YourParameterValue= 请立即输入一个值
cls
(您的程序).exe /YourParameterName %YourParameterValue%
嘿,谢谢你们回答我的问题。我得到了一个更好的答案,它对我来说效果很好,因为我的程序需要用户的输入/参数,并以字符串格式输出结果。
for /f "usebackq tokens=*" %%i in (`YOUR_PROGRAM.EXE YOUR_INPUT`) do @set VAR1=%%i
echo Output from your program is %VAR1%
如果您的程序不需要输入而只需要程序的输出值,它也可以很好地工作。