使用批处理在单独的窗口中运行子程序(标签)?

时间:2016-07-10 16:19:36

标签: windows batch-file

我可以使用

在同一批次中调用标签
CALL :LABEL

但我找不到在单独的窗口中运行它的方法,这没有任何作用:

start "" :LABEL

cmd /c :LABEL 

start "" call :LABEL

我找到的唯一方法是调用一个单独的批处理文件,但这不是一个解决方案,因为我希望在同一批次中拥有所有代码,以便于使用和访问。你知道任何可行的解决方案吗?

1 个答案:

答案 0 :(得分:2)

由于Windows批处理不支持此功能,因此在批处理文件的最开始,您的解决方案可能是if,检查特定的第一个参数:

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

使用此方法,您可以插入对此标签的调用(%~dpnx0计算批次的路径+名称,%COMSPEC%计算为cmd.exe):

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

......或者,没有新窗口:

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