有没有办法检查,以便我可以在最后放置一个条件,不关闭控制台窗口或等待用户按键,但忽略如果 *.bat 文件是从另一个控制台的键盘输入的,则无需执行那是因为 window 最终不会关闭?
最佳答案
您可以使用 %CMDCMDLINE%
去检查。
@echo off
CALL :GETMYSWITCH %CMDCMDLINE%
IF /I "%MYSWITCH%" == "/C" ECHO Used explorer & PAUSE
IF /I NOT "%MYSWITCH%" == "/C" ECHO used cmd
:GETMYSWITCH
SET MYSWITCH=%2
如果您的批处理文件是从您编写的脚本中调用的,而不是直接通过双击调用,您可以让脚本将参数传递给批处理文件,然后检查是否需要至
pause
.更新了我的答案以使用我从 here 获得的这个“函数” .
关于batch-file - 如何确定 *.bat 文件是从控制台运行还是单独运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866356/