cyberdevil0815
Goto Top

Mittels Batch Leere Ordner auslesen und diese in ein Txt Dokument ausgeben

Hallo,

wie kann ich mittels DOS Batch ein Netzlaufwerk ausleen, nach Ordnern mit Größe "0" (leer) suchen und diese in ein *.txt oder +.xls Sheet ausgeben.

Ich habe nicht wirklich einen Schimmer wie ich das machen kann und machen soll...

Die SuFu hat mir bisher auch nicht wirklich viel gebracht in sofern hoffe ich auch einen findigen Batch progger...

Lieben Gruß
Daniel

Content-ID: 188835

Url: https://administrator.de/contentid/188835

Ausgedruckt am: 24.11.2024 um 13:11 Uhr

bastla
bastla 30.07.2012 aktualisiert um 16:03:18 Uhr
Goto Top
Hallo cyberdevil0815!

Wie definierst Du "leer": Keine Dateien enthalten; keine Unterordner enthalten; Unterordner, aber keine Dateien in den Unterordnern? Soll das nur für die erste Ordnerebene erfolgen, oder für jeden Ordner auf dem Laufwerk?

Ausreichende Rechte für alle zu untersuchenden Ordner dürfen vorausgesetzt werden?

Grüße
bastla
cyberdevil0815
cyberdevil0815 30.07.2012 um 16:18:01 Uhr
Goto Top
Hallo bastla,

Leer = Größe 0, Keine Dateien sind enthalten (inkl. Systemdateien), es sollen ALLE Ordner/Unterordner bzw. Ebenen durchsucht werden.

Entsprechende Rechte sind vorhanden.

Gruß
Daniel
Darkprodukt
Darkprodukt 30.07.2012 um 16:27:41 Uhr
Goto Top
Hallo cyberdevil0815,

Und was ist mit Ordnern in denen NUR ein Leerer Unterordner enthalten ist?

Grüße
Darkprodukt
bastla
bastla 30.07.2012 aktualisiert um 16:44:11 Uhr
Goto Top
Hallo cyberdevil0815!

Dann in etwa so:
@echo off & setlocal
set "Startordner=D:\"  
set "Log=D:\Leere Ordner.txt"  

del "%Log%" 2>nul  
for /d /r "%Startordner%" %%i in (*) do (  
    echo Untersuche: "%%i"  
    dir /w/a "%%i" 2>nul|findstr /c:"0 Datei(en)              0 Bytes">nul && >>"%Log%" echo "%%i"  
)
[Edit] Um auch versteckte Ordner zu erfassen:
@echo off & setlocal
set "Startordner=D:\"  
set "Log=D:\Leere Ordner.txt"  

del "%Log%" 2>nul  
for /f "delims=" %%i in ('dir /s/b/ad "%Startordner%"') do (  
    echo Untersuche: "%%i"  
    dir /w/a "%%i" 2>nul|findstr /c:"0 Datei(en)              0 Bytes">nul && >>"%Log%" echo "%%i"  
)
[/Edit]

Grüße
bastla
cyberdevil0815
cyberdevil0815 31.07.2012 um 15:13:24 Uhr
Goto Top
Super...danke.....hat perfekt funktioniert auch mit den versteckten Dateien/Ordnern.

Vielen lieben Dank bastla.
max5moritz
max5moritz 31.01.2014 aktualisiert um 12:23:32 Uhr
Goto Top
@bastla
Habe den skript ausprobiert, doch:

Was kann ich machen, wenn der Ordner zwar leer ist, die darin enthaltenen Unterordner es aber nicht sind?
Ein
 FOR /f "delims=" %%i IN ('dir /b /s /ad "%Startordner%"') DO rd "%%i" 2>NUL   
würde zwar dann diese eigentlich nicht leeren Ordner ignorieren, doch eine richtige Anzeige wäre auch schön face-wink