IF-Anweisung in Batchdatei funktioniert nicht richtig

IF-Anweisung in Batchdatei funktioniert nicht richtig
@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

Wenn ich die obige Batchdatei ausführe, erhalte ich immer das Gegenteil von dem, was ich erwartet habe.

Wenn das Verzeichnis also existiert, wird „Verzeichnis erstellt!“ angezeigt, und wenn es nicht existiert, wird „Verzeichnis existiert!“ angezeigt.

Es ist im Grunde falsch herum. Warum ist das so?

Antwort1

Die Batchdatei sieht für mich gut aus und funktioniert hier (solange Sie über Verzeichniserstellungsrechte inProgrammdateiennatürlich, daher möchten Sie es möglicherweise von einer Eingabeaufforderung mit erhöhten Rechten (Administrator) aus ausführen).

Ein Tipp ist, den Verzeichnisexistenztest leicht zu modifizieren. Statt:

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

du solltest benutzen:

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

Beachten Sie den abschließenden Backslash. Dadurch wird sichergestellt, dass der Test nicht „True“ zurückgibt, wenn eine Datei mit demselben Namen vorhanden ist.

verwandte Informationen