我正在通过Windows(任务)调度程序,第三方cron(nncronLite)和“START”命令运行批处理(.bat)文件。我试图找出一种方法可以检测到.bat文件是通过上述方法之一运行的,与我从控制台(cmd.exe)窗口运行批处理文件相比。
我可以尝试检查环境变量..但是哪一个(这里我正在尝试HOMEDRIVE)?
setlocal
set BATCH_MODE=1
if defined HOMEDRIVE set BATCH_MODE=
rem [...]
if defined BATCH_MODE echo IN BATCH MODE
任何其他建议的机制(除了为批处理文件提供命令行参数= kludge,IMO)?
这适用于Windows XP,Win7,Win8,Win10(以及其他,我猜)
感谢。