gpt4 book ai didi

cmd - bat 文件和标签

转载 作者:行者123 更新时间:2023-12-04 14:18:55 25 4
gpt4 key购买 nike

我正在尝试为网络策略编写一个bat文件,如果不存在该程序以及其他几个功能,它将安装该程序。我正在使用GOTO语句,具体取决于是否满足某些条件。但是,标签似乎无法像所有标签一样正确触发。

我简化了脚本,以掌握可能发生的情况。

@echo off


IF EXIST c:\test\test.txt (GOTO :EXISTING) ELSE GOTO :MISSING

:EXISTING
echo file exists

:MISSING
echo file missing

ping localhost -n 5 >NUL


基本上,它会检查ID是否存在的文件夹“ c:\ test”中是否存在文件“ test.txt”。因此它应该在控制台中存在回显文件。但是,“文件存在”和“文件丢失”都会回显到控制台。我发现,如果我从文件夹中删除文件或只是对其进行重命名,它只会显示“文件丢失”

为什么同时运行两个标签?

最佳答案

因为GOTO只是执行中到脚本中某个点的跳转,所以从该点开始继续执行。如果您希望它在运行“ EXISTING”后停止运行,则需要执行以下操作。请注意额外的GOTO和新标签:

@ECHO OFF
IF EXIST c:\test\test.txt (GOTO :EXISTING) ELSE GOTO :MISSING

:EXISTING
echo file exists
goto :NEXTBIT

:MISSING
echo file missing

:NEXTBIT
ping localhost -n 5 >NUL


值得注意的是,使用cmd.exe(即基于NT的命令外壳[NT,Win2k,XP等]),您可以执行IF ... ELSE块,如下所示:

@ECHO OFF
IF EXIST c:\test\test.txt (
ECHO File exists
) ELSE (
ECHO File missing
)
ping localhost -n 5 >nul


...因此您可以完全消除GOTO。

关于cmd - bat 文件和标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4083191/

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