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-Key: 188835

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

Printed on: April 19, 2024 at 21:04 o'clock

Member: bastla
bastla Jul 30, 2012 updated at 14:03:18 (UTC)
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
Member: cyberdevil0815
cyberdevil0815 Jul 30, 2012 at 14:18:01 (UTC)
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
Member: Darkprodukt
Darkprodukt Jul 30, 2012 at 14:27:41 (UTC)
Goto Top
Hallo cyberdevil0815,

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

Grüße
Darkprodukt
Member: bastla
bastla Jul 30, 2012 updated at 14:44:11 (UTC)
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
Member: cyberdevil0815
cyberdevil0815 Jul 31, 2012 at 13:13:24 (UTC)
Goto Top
Super...danke.....hat perfekt funktioniert auch mit den versteckten Dateien/Ordnern.

Vielen lieben Dank bastla.
Member: max5moritz
max5moritz Jan 31, 2014 updated at 11:23:32 (UTC)
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