我可以使用
在同一批次中调用标签CALL :LABEL
但我找不到在单独的窗口中运行它的方法,这没有任何作用:
start "" :LABEL
cmd /c :LABEL
start "" call :LABEL
我找到的唯一方法是调用一个单独的批处理文件,但这不是一个解决方案,因为我希望在同一批次中拥有所有代码,以便于使用和访问。你知道任何可行的解决方案吗?
答案 0 :(得分:2)
由于Windows批处理不支持此功能,因此在批处理文件的最开始,您的解决方案可能是if
,检查特定的第一个参数:
if "%~1"=="gotolabel" goto %~2
使用此方法,您可以插入对此标签的调用(%~dpnx0
计算批次的路径+名称,%COMSPEC%
计算为cmd.exe):
start "" "%COMSPEC%" /c "%~dpnx0" "gotolabel" LABEL
......或者,没有新窗口:
"%COMSPEC%" /c "%~dpnx0" "gotolabel" LABEL