批次檔中的 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。

相關內容