Batch: leerer Ordner in Struktur finden und in CSV eintragen
Hallo Zusammen,
Ich bräuchte mal Hilfe...
Ich bin kein Profi in Batch aber lerne noch
Ich möchte eine Ordner Struktur Anlegen ( das is kein Problem das hab ich schon ) und dann im Main Verzeichnis eine CSV Datei erzeugen, in der ich sehen kann welche Ordner in der Struktur leer sind!
Geht das?
Danke Euch!
Gruß Shooti
Ich bräuchte mal Hilfe...
Ich bin kein Profi in Batch aber lerne noch
Ich möchte eine Ordner Struktur Anlegen ( das is kein Problem das hab ich schon ) und dann im Main Verzeichnis eine CSV Datei erzeugen, in der ich sehen kann welche Ordner in der Struktur leer sind!
Geht das?
Danke Euch!
Gruß Shooti
Please also mark the comments that contributed to the solution of the article
Content-ID: 1615989847
Url: https://administrator.de/forum/batch-leerer-ordner-in-struktur-finden-und-in-csv-eintragen-1615989847.html
Printed on: May 13, 2025 at 16:05 o'clock
10 Comments
Latest comment
Servus,
nimm doch Poweshell...
Dieses Script löscht leere Ordner.
Müsstest du dir nur ein wenig umbauen, so dass nicht gelöscht sondern in deine CSV geschrieben wird.
nimm doch Poweshell...
Dieses Script löscht leere Ordner.
Müsstest du dir nur ein wenig umbauen, so dass nicht gelöscht sondern in deine CSV geschrieben wird.
$tdc=".\"
$dirs = gci $tdc -directory -recurse | Where { (gci $_.fullName).count -eq 0 } | select -expandproperty FullName
$dirs | Foreach-Object { Remove-Item $_ } #hier wird gelöscht

Jöp würde ich auch gleich Powershell für nehmen
get-ChildItem 'D:\Ordner' -Directory -recurse | ?{$_.GetFiles().Count -eq 0} | select Fullname | export-csv .\emptyfolders.csv -Delimiter ";" -NoType -Encoding UTF8

Kannst du leicht in ne Batch einbauen
@echo off
powershell -EP Bypass -C "Get-ChildItem 'D:\Ordner' -Directory -recurse | ?{$_.GetFiles().Count -eq 0} | select Fullname | export-csv .\emptyfolders.csv -Delimiter ';' -NoType -Encoding UTF8"

Wenn's wirklich pure Batch sein muss biddö
@echo off &setlocal enabledelayedexpansion
set "folder=D:\Ordner"
>"emptyfolders.csv" (for /f "delims=" %%a in ('dir /b /s /ad "%folder%"') do (
set cnt=0
for %%b in ("%%a\*") do set /a cnt+=1
if !cnt! == 0 echo.%%a
))

Sorry typo muss im Vergleich natürlich == heißen ... ist oben korrigiert.
Dann kannst du den Beitrag ja auf "gelöst" setzen und die entsprechenden Kommentare markieren.
Zusätzlich sollte der Fragesteller die Antworten welche zur Lösungsfindung beigetragen haben, durch einen Klick auf "Zur Lösung beigetragen" neben der jeweiligen Antwort, markieren. Dies hilft Besuchern die Lösung für die Frage schneller aufzufinden.