2010-06-22 7 views
9

Ich versuche eine Schleife in einer .cmd Datei zu machen.Wenn nicht existiert dann exit + cmd

Wenn test.txt nicht existiert, werde ich den CMD-Prozess beenden.

@echo off 
if not exists test.txt goto exit 

Aber dieser Code funktioniert nicht und ich weiß nicht, wie man alle 2 Sekunden eine Schleife macht.

Danke für Hilfe.

Antwort

14

Der Befehl exist genannt wird, nicht existiert:

if not exist test.txt goto :exit 
echo file exists 
:exit 

Über Ihre Schleife:
Ich bin nicht 100% sicher, aber ich denke, es gibt keinen Schlaf oder Befehl warten in Windows. Sie können googlen für schlafen, um etwas Freeware zu finden. Eine weitere Möglichkeit ist es, eine Ping verwenden:

ping localhost -n 3 >NUL 

EDIT:
Die Windows Server 2003 Resource Kit Tools enthält einen Schlaf.
Siehe here für weitere Informationen zu

+0

danken Ihnen sehr mutch ... große Hilfe :-) – Sebastian

1

Wenn Sie einige Sekunden verwenden Standard CHOICE Befehl warten. Dieser Beispielcode überprüft, ob die Datei alle zwei Sekunden vorhanden ist. Die Schleife endet, wenn die Datei vorhanden ist:

@ECHO OFF  
:CHECKANDWAITLABEL 
IF EXIST myfile.txt GOTO ENDLABEL 
choice /C YN /N /T 2 /D Y /M "waiting two seconds..." 
GOTO CHECKANDWAITLABEL 

:ENDLABEL 
+0

auch Befehl ein 'timeout' ist. Aber "Wahl" und "Timeout" sind nicht in allen Windows-Versionen verfügbar. 'Ping' ist. – Stephan

0

Mit den folgenden:

if not exist "file name" goto exit 

Ergebnisse in:

The system cannot find the batch label specified - exit 

jedoch ohne den gleichen Befehl "goto" funktioniert wie folgt:

if not exist "file name" exit 
1

Ausgang ist ein Ke y Wort in DOS/Eingabeaufforderung - das ist, warum goto exit nicht funktioniert.

Mit, wenn nicht existiert "Dateiname" Exit Dumps Sie aus dieser Batch-Datei. Das ist gut, wenn Sie die Batch-Datei beenden wollen.

Wenn Sie vor dem Beenden einige andere Anweisungen ausführen möchten, ändern Sie die Bezeichnung in etwas wie: notfound, dann können Sie nicht finden und einige andere Anweisungen ausführen, bevor Sie beenden.

(dies ist nur eine Klarstellung eines der Beispiele)

Verwandte Themen