Ich muss ein Dienstprogramm nur ausführen, wenn eine bestimmte Datei vorhanden ist. Wie kann ich dies in Windows Batch tun?
Wenn es sich um Pfade mit Leerzeichen handelt: stackoverflow.com/questions/138981/
Ich muss ein Dienstprogramm nur ausführen, wenn eine bestimmte Datei vorhanden ist. Wie kann ich dies in Windows Batch tun?
if exist <insert file name here> (
rem file exists
) else (
rem file doesn't exist
)
Oder in einer einzigen Zeile (wenn nur eine einzige Aktion stattfinden soll):
if exist <insert file name here> <action>
zum Beispiel öffnet dies notepad auf autoexec.bat, wenn die Datei existiert:
if exist c:\autoexec.bat notepad c:\autoexec.bat
@loopkin - else
gültig ist, siehe "if /?" ... "Die ELSE-Klausel muss in der gleichen Zeile stehen wie der Befehl nach dem IF. Zum Beispiel: [...zahlreiche Anwendungsbeispiele...]"
@chris-j Danke Chris, du hast recht, es scheint so, als ob die Klammern in der gleichen Zeile stehen müssen wie das else. Das war es, was ich falsch gemacht habe. Ich glaube, ich werde mich nie an die Batch-Syntax gewöhnen :(
Versuchen Sie es mit folgendem Beispiel, zitiert aus der Ausgabe von IF /?
unter Windows XP:
IF EXIST filename.txt (
del filename.txt
) ELSE (
echo filename.txt missing.
)
Sie können auch auf eine fehlende Datei mit IF NOT EXIST
.
El IF
Befehl ist ziemlich mächtig. Die Ausgabe von IF /?
wird eine aufmerksame Lektüre lohnen. Versuchen Sie doch einmal die /?
für viele der anderen integrierten Befehle, um viele versteckte Schätze zu finden.
Ich habe den Hilfetext aus dem aktuellen IF
Befehl in CMD.EXE eingebaut, der diese Punkte hatte. Ich weiß nicht, warum sie sie eingefügt haben, aber es scheint inkonsequent zu sein. Natürlich, was die EXIST
Schlüsselwort ist ein gültiger Dateiname, der vollständig qualifiziert sein kann. Andere Befehle verwenden das Idiom [drive:][path]filename
anstelle des Textes filename.
hier verwenden, was offensichtlich klarer ist.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.