如何将变量作为(我的程序).exe 的参数? (批处理文件)

问题描述 投票:0回答:3

我有一个可执行文件a(.exe),它从 DOS 输入获取参数。我认为在运行批处理文件时会很棒,它会提示用户输入并且该输入将设置为变量。不幸的是,我这个不太聪明的想法行不通。但我确信有办法。以下是我简单的意图

SET /p input=""

cls

(my program).exe %input%

当然,在这种情况下 DOS 不会转换该变量。如果有人可以通过一些链接来启发我来研究这个问题就足够了。提前非常感谢

batch-file
3个回答
1
投票

如果您的程序采用参数或从 STDIN(“键盘”)获取输入,那就有区别了

如果需要参数,

myprogram.exe %input%
应该可以工作。

如果它从键盘(STDIN)获取输入,这应该有帮助:

echo %input%|myprogram.exe

或者让它从文件中输入:

myprogram.exe <myinputfile.txt

还有第三种可能性:myprogram.exe 有自己的“键盘手表”。对此没有简单的纯批处理解决方案。


0
投票

试试这个:

@回声关闭

set /p YourParameterValue= 请立即输入一个值

cls

(您的程序).exe /YourParameterName %YourParameterValue%


0
投票

嘿,谢谢你们回答我的问题。我得到了一个更好的答案,它对我来说效果很好,因为我的程序需要用户的输入/参数,并以字符串格式输出结果。

for /f "usebackq tokens=*" %%i in (`YOUR_PROGRAM.EXE YOUR_INPUT`) do @set VAR1=%%i

echo Output from your program is %VAR1%

如果您的程序不需要输入而只需要程序的输出值,它也可以很好地工作。

© www.soinside.com 2019 - 2024. All rights reserved.