在 Windows 7 上,我有一个可执行文件,比如说 immutableProg.exe
,我想用某些参数调用它 3 次。这是由批处理文件 myBatch.bat
完成的。
myBatch.bat
的内容:
immutableProg.exe -a
immutableProg.exe -b
immutableProg.exe -c
可执行文件 immutableProg.exe
确实有一个特殊的 --keep
开关,它会阻止可执行文件返回,直到用户按下任意键。现在我想添加 --keep
开关,当且仅当我的批处理 myBatch.bat
被双击时,如下所示:
immutableProg.exe -a
immutableProg.exe -b
immutableProg.exe -c --keep
如果用户从命令行调用批处理,则不应添加。
问题:如何确定(从我的批处理 View 中)它是通过双击还是从命令行打开的?
不幸的是,更改 immutableProg.exe
的默认行为不是一个选项,也不是从命令行为批处理文件提供额外参数。
最佳答案
%cmdcmdline%
给出了用于启动当前 Cmd.exe 的确切命令行。
从命令控制台启动时,此变量为 "%SystemRoot%\system32\cmd.exe"
。
从资源管理器启动时(双击)此 var 是 cmd/c ""{full_path_to_the_bat_file}"
关于windows - 如何确定批处理文件是通过双击还是通过命令行打开的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23248201/