Supportnet / Forum / Anwendungen(Java,C++...)
W2K-Batch: DIR in einer FOR-Schleife
Frage
Hallo alle zusammen,
ich möchte unter Windows 2000 / Server 2003 eine Batch-Datei laufen lassen, die mit einer FOR-Schleife (siehe unten) sämtliche Unterverzeichnisse auf das Vorhandensein einer bestimmten Datei abfragt. Das funktioniert wunderbar, solange es mindestens [i]ein [/i]Exemplar dieser Datei gibt.
Wenn nicht, erscheint die Fehlermeldung "Datei nicht gefunden". Kann man diese Fehlermeldung elegant unterdrücken oder vielleicht sogar weiter verarbeiten?
[u]Hinweis:[/u] Anstatt des Befehls "[code]ECHO %%i[/code] " im Beispiel folgt an dieser Stelle noch eine weitere Verarbeitung. Das hat aber auf die Fehlermeldung keinen Einfluss.
Hier nun die kleine Batch-Datei mit der FOR-Schleife:
[code]
@ECHO off
SET datei=beispiel.txt
FOR /f %%i IN (´DIR C: /s /b %datei%´) DO ECHO %%i
:ende
[/code]
Schon jetzt vielen Dank für Eure Mühe.
Herzliche Grüße
Fragender
Antwort 1 von Mikoop
Hallo,
Kannst du die besagte Datei nicht per if exist oder if not exist aufspüren und dann erst mit for weierarbeiten ? So hättest du eine Wahl zwischen Datei vorhanden oder nicht vorhanden.
Gruss, Mikoop
Kannst du die besagte Datei nicht per if exist oder if not exist aufspüren und dann erst mit for weierarbeiten ? So hättest du eine Wahl zwischen Datei vorhanden oder nicht vorhanden.
Gruss, Mikoop
Antwort 2 von Fragender
Hallo Mikoop,
Herzliche Grüße
Fragender
IF [NOT] EXIST spürt leider keine Datei auf, sondern prüft nur deren [Nicht-]Existenz als Bedingung für eine Befehlsabarbeitung. Der einzige mir bekannte Befehl für das Aufspüren einer Datei (mit der Option /s für alle Unterverzeichnisse) ist der DIR-Befehl. Und genau der verursacht in der FOR-Schleife die Fehlermeldung, wenn keine Datei gefunden wurde.Herzliche Grüße
Fragender

