2016-07-10 29 views
0

我可以調用使用使用批處理在單獨的窗口中運行子程序(標籤)?

CALL :LABEL 

在同一批次的標籤,但我找不到一種方法來在一個單獨的窗口中運行它,沒有這樣的工作:

start "" :LABEL 

cmd /c :LABEL 

start "" call :LABEL 

唯一的辦法我發現正在調用一個單獨的批處理文件,但這不是一個解決方案,因爲我希望將所有代碼放在同一批次中以便於使用和訪問。你知道任何可行的解決方案嗎?

回答

2

由於Windows批處理不支持此功能,您的解決方案可能是一個if在您的批處理文件的最開始,檢查特定的第一個參數:

if "%~1"=="gotolabel" goto %~2 

有了這個,你可以插入到電話像這樣的標籤(%~dpnx0計算爲路徑+批處理的名稱,%COMSPEC%計算結果爲CMD.EXE):

start "" "%COMSPEC%" /c "%~dpnx0" "gotolabel" LABEL 

...或者,沒有新的窗口:

"%COMSPEC%" /c "%~dpnx0" "gotolabel" LABEL 
+0

不客氣!我很高興能夠提供幫助。 :-) – tueftl

相關問題