バッチファイル内の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

バッチファイルは私には問題なく、ここでも動作します(ディレクトリ作成権限を持っている限り)プログラムファイルもちろん、管理者権限のコマンドプロンプトから実行することをお勧めします。

1 つのヒントは、ディレクトリの存在テストを少し変更することです。代わりに:

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

次のように使用してください:

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

末尾のバックスラッシュに注意してください。これにより、同じ名前のファイルがある場合にテストが True を返さないことが保証されます。

関連情報