Batch-Befehl immer Fehler
Schrieb ich eine einfache batch-Datei, die prüft, ob das Laufwerk c: Pfad vorhanden ist, dann führen Sie die exe-Datei in diesem Pfad sonst versuchen das Laufwerk d Weg und führen Sie es aus.
IF EXIST c:\program files\x goto a
ELSE goto b
:a
cd c:\program files\x
executable.exe c:\temp\col.zip
:b
cd d:\program files\x
executable.exe c:\temp\col.zip
Im immer diese Fehlermeldung:
- - - - - Fehler-Ausgabe-- 'ELSE' nicht erkannt wird als Befehl interne oder externe, betriebsbereiten Programm oder batch-Datei. Das system cannot find the path specified. 'executable.exe' nicht erkannt wird als Befehl interne oder externe, betriebsbereiten Programm oder batch-Datei. 'dellsysteminfo.exe' nicht erkannt wird als Befehl interne oder externe, betriebsbereiten Programm oder batch-Datei.
Ich weiß nicht, warum.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die ANDERE muss auf der gleichen Linie. Ändern Sie es zu:
Sehen dieses tutorial für weitere Informationen, oder verweisen Sie auf diese Microsoft-Dokumentation.
Die Fehlermeldung ist selbsterklärend, es gibt keine solche Sache wie
ELSE
in batch-Dateien. Jedoch, da es einGOTO
, es ist völlig unnötig.Wenn Sie es vorbei an der ersten Zeile, es ist von Natur aus ein anderes.
Als für die anderen Fehler, Sie sind Verwandte nicht finden, die Dateien, die Sie versuchen, auszuführen. Batch-Dateien sind case-sensitive, so dass Sie beheben müssen Sie die groß-und Kleinschreibung von Datei - /Ordner-Namen, um die tatsächlichen system.
cd
Befehle, wie::a cd "c:\program files\x"
else
hat, schauen Sie einfachhelp if
.cd
—immer wieder, finden Sie in der Hilfe: "CHDIR
- Befehl behandelt Leerzeichen nicht als Begrenzungszeichen, so dass es möglich ist, zuCD
in ein Unterverzeichnis-Namen, der Leerzeichen enthält, ohne diese Umgebung den Namen mit Anführungszeichen.".help if
sich wie Joey Staaten oben) kann Ihnen versichern, es ist einELSE
Konstrukt in der windows-batches. Das problem muss derjenige dargestellt, hier.Yep, es gibt keine mehrzeiligen if/else, sondern nur
else
erscheinen auf der gleichen Zeile wie dieif
(oder am Ende der Sperrung geöffnet, nachdem dieif
). Ja, das ist ein wenig verwirrend in der Dokumentation.