if else abfrage

Konfiguration, Anwendungen, Treiber und TSRs unter DOS
Antworten
Benutzeravatar
Nitrosamin
MemMaker-Benutzer
Beiträge: 73
Registriert: So 23. Mai 2021, 23:15
Kontaktdaten:

if else abfrage

Beitrag von Nitrosamin »

Hallo Leute,

ich habe mal wieder ein MS-DOS Problem.

Ich wollte in einer Batch-Datei eine Abfrage machen, ob eine Datei vorhanden ist:

Code: Alles auswählen

if exist c:\test.txt goto 10
Soweit, sogut. Ich möchte aber, wenn die Datei "test.txt" nicht da ist, soll etwas anderes ausgeführt werden.
So alla:

Code: Alles auswählen

if exist c:\test.txt goto 10
else
goto 20
endif
oder so ähnlich.

Geht das im DOS? Und wenn ja, wie?

mfg. Nitro
mfg.

Nitro
Martin75
BIOS-Flasher
Beiträge: 396
Registriert: Mo 6. Jul 2015, 21:46

Re: if else abfrage

Beitrag von Martin75 »

Bei google gefunden:


Following is an example of how the ‘if exists’ statement can be used.

Example

Code: Alles auswählen

@echo off 
if exist C:\set2.txt echo "File exists" 
if exist C:\set3.txt (echo "File exists") else (echo "File does not exist")
mkarcher
LAN Manager
Beiträge: 204
Registriert: Fr 5. Jun 2020, 19:38

Re: if else abfrage

Beitrag von mkarcher »

Wenn wir über MS-DOS reden, und nicht über cmd.exe aus Windows NT/2000/XP, dann gibt es kein ELSE. Das Beispiel aus dem Eingangsposting müsste dort so geschrieben werden:

Code: Alles auswählen

if exist c:\test.txt goto file_exists
goto file_missing
Wenn die Datei existiert, ist DOS ja schon nach file_exists gesprungen, so dass die zweite goto-Zeile gar nicht ausgeführt wird. Deshalb ist die zweite goto-Zeile aber eigentlich auch überflüssig, denn der Code für den Fall, dass die Datei nicht existiert, kann auch direkt hinter der if-Zeile stehen.

Falls bei dem IF kein goto steht, dann kann man mit if not exist eine zweite Variante einführen:

Code: Alles auswählen

if exist c:\test.txt echo "existiert"
if not exist c:\test.txt echo "existiert nicht"
Benutzeravatar
Nitrosamin
MemMaker-Benutzer
Beiträge: 73
Registriert: So 23. Mai 2021, 23:15
Kontaktdaten:

Re: if else abfrage

Beitrag von Nitrosamin »

Hallo,
danke für die Antworten. Hat mich weiter gebracht.
mfg.

Nitro
Antworten