批处理文件中的 IF 语句无法正常工作

批处理文件中的 IF 语句无法正常工作
@ECHO OFF
PAUSE 
IF EXIST "C:\Program Files\NexphaseV6\ECF" (
    ECHO Directory exists! 
    PAUSE
) ELSE (
    MKDIR "C:\Program Files\NexphaseV6\ECF" 
    ECHO Directory made!
)
PAUSE

当我运行上述批处理文件时,我总是得到与我预期相反的结果。

因此,如果目录确实存在,它会显示“目录已创建!”,如果目录不存在,它会显示“目录已存在!”

这基本上是错误的——为什么会这样?

答案1

批处理文件对我来说看起来很好,并且可以在这里工作(只要你有目录创建权限程序文件当然,因此您可能希望从提升的(管理员)命令提示符运行它)。

一个技巧是稍微修改目录存在性测试。而不是:

IF EXIST "C:\Program Files\NexphaseV6\ECF"

你应该使用:

IF EXIST "C:\Program Files\NexphaseV6\ECF\"

注意末尾的反斜杠。这确保如果存在同名文件,则测试不会返回 True。

相关内容