Batch file 如何转到被调用的批处理文件中的标签

Batch file 如何转到被调用的批处理文件中的标签,batch-file,Batch File,我的代码在one中是这样的。bat: @echo off echo hi call example.bat :label echo hello pause @echo off echo hi! call one.bat 我的代码在示例中是这样的。bat: @echo off echo hi call example.bat :label echo hello pause @echo off echo h

我的代码在one中是这样的。bat:

@echo off
    echo hi
    call example.bat
:label
    echo hello
    pause
@echo off
    echo hi!
    call one.bat
我的代码在示例中是这样的。bat:

@echo off
    echo hi
    call example.bat
:label
    echo hello
    pause
@echo off
    echo hi!
    call one.bat

我希望它在调用one.bat后转到标签。我该怎么做

如果要返回到调用example.bat(当前有标签的位置)的下一行,则不需要标签。使用example.bat末尾的exit/b

@echo off
    echo hi!
    exit /b
    :: Takes you back to the batch file at the spot you left it
如果确实要转到one.bat中的标签,请将
转到%1
放在one.bat的顶部(在@echo off的右下方),并在调用时传递一个带有标签名称的变量。像这样:

@echo off
    echo hi!
    set gotoPlace=label
    call one.bat %gotoPlace%
调用One.bat会重新启动它,但传递给One.bat的变量(%gotoplace%)会替换放置在文件顶部的%1,因此“goto%1”现在等于“goto label”


编辑:%1以这种方式在非常简单的批处理文件中执行您想要的操作,但通常您不希望
转到bat顶部的%1
。的开头介绍了有关将项目从一个批处理文件传递到另一个批处理文件的更多信息。

人造代码的问题在于,问题的答案可能不是您想要的:)


你在做什么:开始一个。调用示例,它调用一,它调用示例wich调用一wich调用。。。。将示例中的
call one.bat
替换为
goto:eof
谢谢!这帮了大忙。