我需要區分內部script.cmd這兩種情況:如何在Windows CMD.EXE shell中檢測腳本是否被CALL或直接調用?
C:\> call script.cmd
C:\> script.cmd
我怎麼能確定我的script.cmd直接調用,或使用CALL的上下文中調用?
如果它的事項,這是Windows 7
@echo off
set invoked=0
rem ---magic goes here---
if %invoked%==0 echo Script invoked directly.
if %invoked%==1 echo Script invoked by a CALL.
任何人都知道了「魔高一尺這裏」,這將檢測到已經CALL'ed和集調用= 1?
這並不解決什麼問題? –
它解決了能夠做的問題... 'script1.cmd && script2.cmd && script3.cmd' ...無需做... 'call script1.cmd && call script2.cmd && call script3.cmd' –
不,不知道如何調用該文件,指出的「問題」不能被「解決」。批處理解釋器決定執行流程是否返回給調用者(使用'call')或不使用'call'時。並且在您的評論中的示例代碼中,在兩種情況下調用這三個文件都沒有問題 –