gpt4 book ai didi

batch-file - 如何在bat文件中使用goto函数?

转载 作者:行者123 更新时间:2023-12-02 14:47:53 27 4
gpt4 key购买 nike

我正在编写 bat 文件,其中 if 语句 goto 命令在第一条语句中不起作用

:purge_operation
set /p ABC_DEF=Are you want to Purge ABC or DEF Data ? (ABC/DEF):

:start
if %ABC_DEF%==ABC goto ABC
if %ABC_DEF%==DEF goto DEF
:end

:ABC
echo purge ABC data !

:DEF
echo purge DEF data !

pause >nul

输出:------------

实际结果------------

Are you sure you want to Purge DATA ? (Y/N):Y
Are you want to Purge ABC or DEF Data ? (ABC/DEF):ABC
purge ABC data !
purge DEF data !

预期结果----

Are you sure you want to Purge DATA ? (Y/N):Y
Are you want to Purge ABC or DEF Data ? (ABC/DEF):ABC
purge ABC data !

最佳答案

Goto 将执行点更改为标签。它自己的标签不会改变执行行为。换句话说,在批处理文件中的每个逻辑单元之后,您需要更改控制流,否则它将继续执行下一条语句。

例如,您可以修改您的示例批处理文件,使其仅执行选定的结果之一,如下所示:

:purge_operation
set /p ABC_DEF=Are you want to Purge ABC or DEF Data ? (ABC/DEF):

:start
if %ABC_DEF%==ABC goto ABC
if %ABC_DEF%==DEF goto DEF
echo Unknown entry
goto :EOF

:ABC
echo purge ABC data !
goto :done

:DEF
echo purge DEF data !
goto :done

:done
pause >nul

第二个 goto :done 完全没有必要,但养成它是一个好习惯,以防将来添加更多分支可能性。

关于batch-file - 如何在bat文件中使用goto函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57843451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com