gpt4 book ai didi

windows - 批处理文件。如果语句?

转载 作者:可可西里 更新时间:2023-11-01 12:42:50 25 4
gpt4 key购买 nike

我有一个批处理文件,需要将 attrib +h 命令应用于一个文件,然后输出到一个 txt 文件并在屏幕上显示内容。如果没有提供文件或找不到文件,也应该这样做。到目前为止我有这个但无法让它工作:


:TOP
IF EXIST "%1" GOTO COMMAND
) ELSE
(
GOTO ERROR1

:COMMAND
attrib +h %1
SHIFT
GOTO TOP
GOTO END

:ERROR1
IF "%1"=="" GOTO ERROR2
) ELSE
(
GOTO ERROR3

:ERROR2
ECHO.
ECHO No file(s) provided. Please re run the batch file.
GOTO END

:ERROR3
ECHO.
ECHO The file was not found. Please re run the batch file.
GOTO END

:END

这是我的第一门计算机类(class),如有任何帮助,我们将不胜感激。谢谢。

最佳答案

此代码存在一些问题。首先,批处理文件的 IF/ELSE 语句需要特定的语法。

像这样

IF EXIST "%1" (
echo "it's here!"
) ELSE (
echo "it isn't here!"
)

工作正常,而像这样的东西

IF EXIST "%1" 
(
echo "it's here!"
)

ELSE
(
echo "it isn't here!"
)

没有。括号分隔 block ,因此如果计算结果为真,您的 IF 命令将执行 () 之间的所有内容。

其次,您实际上不需要任何ELSE 语句。因为您在 ELSE 命令之前使用了 GOTO 命令,所以如果第一个 IF 计算结果为真。

最后,对于您当前显示的代码,您拥有的 :TOP 标签是不必要的。

完成所有这些之后,您应该得到如下所示的内容:

@ECHO off
IF EXIST "%1" (
GOTO COMMAND
)
GOTO ERROR1

:COMMAND
echo "You entered a file correctly, and it exists!"
GOTO END

:ERROR1
IF "%1"=="" (
GOTO ERROR2
)
GOTO ERROR3

:ERROR2
ECHO.
ECHO No file(s) provided. Please re run the batch file.
GOTO END

:ERROR3
ECHO.
ECHO The file was not found. Please re run the batch file.
GOTO END

:END

关于windows - 批处理文件。如果语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22334327/

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