【问题标题】:How to take variable as argument for (my program).exe? (batch-file)如何将变量作为(我的程序).exe 的参数? (批处理文件)
【发布时间】:2015-05-03 18:41:12
【问题描述】:

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

SET /p 输入=""

cls

(我的程序).exe %input%

当然,在这种情况下 DOS 不会翻译变量。如果有人可以通过一些链接启发我对此进行研究就足够了。非常感谢提前

【问题讨论】:

标签: batch-file


【解决方案1】:

这是不同的,如果您的程序从 STDIN(“键盘”)获取参数或获取输入

如果它需要参数,myprogram.exe %input% 应该可以工作。

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

echo %input%|myprogram.exe

或者让它从文件中输入:

myprogram.exe <myinputfile.txt

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

【讨论】:

    【解决方案2】:

    试试这个:

    @echo 关闭

    set /p YourParameterValue= 请立即输入值

    cls

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

    【讨论】:

      【解决方案3】:

      大家好,感谢您回答我的问题。我得到了一个更好的答案,它对我很有效,因为我的程序需要来自用户的输入/参数,并且还需要以字符串格式输出结果。

      for /f "usebackq tokens=*" %%i in (`YOUR_PROGRAM.EXE YOUR_INPUT`) do @set VAR1=%%i
      
      echo Output from your program is %VAR1%
      

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

      【讨论】:

        猜你喜欢
        • 2011-10-05
        • 1970-01-01
        • 1970-01-01
        • 2018-08-11
        • 1970-01-01
        • 2014-01-23
        • 2022-01-01
        • 1970-01-01
        • 2016-09-10
        相关资源
        最近更新 更多