geloescht_Newlukai Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 Hi, ich habe folgendes Problem: Ich muß ein Batchskript schreiben, welches prüft, ob ein Verzeichnis leer ist oder nicht. Bisher habe ich noch keine Lösungen gefunden. Vielleicht findet sich hier ein schlaues Köpfchen. Greetz Zitieren
Sethju Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 brauchst du ein bestimmtest verzeichnis oder mit Abfrage? Greetz Sethju Zitieren
Sethju Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 also. hier eine kleine Loesung: Ausfuehrung erfolgt durch: batchfile Verzeichnis (Bsp: asd test <-- batchfile heisst asd, das Verzeichnis, dass du durchsuchen willst heisst "TEST", per definition im Batchfile unter "C:") @ECHO off :: asd.cmd dir c:\%1 |find "0 Datei(en)" >nul IF not errorlevel 1 ECHO. keine Dateien vorhanden IF errorlevel 1 ECHO. Dateien vorhanden have fun Sethju Zitieren
geloescht_Newlukai Geschrieben 22. Februar 2005 Autor Geschrieben 22. Februar 2005 thx, funzt super. Manchmal muß man eben durch die Brust ins Auge Zitieren
Bubble Geschrieben 22. Februar 2005 Geschrieben 22. Februar 2005 dir c:\%1 |find "0 Datei(en)" >nul Und was, wenn es z.B. ein englisches Windows ist? Zitieren
Sethju Geschrieben 23. Februar 2005 Geschrieben 23. Februar 2005 War das jetzt eine Scherzfrage? :cool: @ECHO off :: asd.cmd dir c:\%1|find " 0 File(s)" > NUL IF not errorlevel 1 ECHO. no files found IF errorlevel 1 ECHO. files found wenn ihr es auch noch auf russisch und griechisch und spanisch und überhaupt und sowieso wollt.... dann schreibt es selber Greetz Sethju Zitieren
_Martin_ Geschrieben 23. Februar 2005 Geschrieben 23. Februar 2005 Oder so, unabhängig von der Sprache des Betriebssystems: @ECHO OFF FOR /F %%a IN ('DIR /A-D /B %1\*.* 2^>NUL') DO ( ECHO Deine Befehle... GOTO :EOF ) ECHO Keine Datei in "%~f1" gefunden Damit wird ein DIR-Befehl auf das angegebene Verzeichnis ausgeführt, der keine Ordner anzeigt und das einfache Ausgabeformat benutzt. Wenn nun irgendeine Datei gefunden wird, wird der Teil zwischen den Klammern ausgeführt und danach die FOR Schleife verlassen (:EOF ist eine unsichtbare Marke ganz am Ende der Datei). Ist der Ordner leer, wird normalerweise eine Fehlermeldung "Datei wurde nicht gefunden" ausgegeben; um dies zu unterdrücken, wird die Fehlerausgabe des DIR-Befehls nach NUL umgeleitet (-> ins Nirvana). So wird die FOR-Schleife dann 0 mal ausgeführt, es wird der letzte ECHO Befehl ausgeführt. Zitieren
geloescht_Newlukai Geschrieben 23. Februar 2005 Autor Geschrieben 23. Februar 2005 Hi _Martin_, danke. Du hast mir vorausgegriffen. Natürlich sollte es sprachunabhängig funktionieren. Ich werde Deinen Code direkt mal testen... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.