Ordner die nicht Leer sind verschieben
Hallo zusammen. Ich möchte gerne ein Script schreiben welches mir alle Ordner die nicht leer sind in einen anderen Ordner verschiebt.
Die ordner sind so abgelegt, dass sobald ein Projekt abgeschlossen wird der Komplette inhalt in einen dafür erstellten Ordner geschoben werden. Aus diesem Ordner möchte ich dann Alle Unterordner welche nicht leer sind in ein anderes Verzeichnis verschieben. Wie stelle ich das am besten an? Bei move /? oder xcopy /? konnte ich keine solche Befehlserweiterung finden und über die Ausgabe von dir krieg ich ja die Ordnergrösse nicht raus?
Grüsse Apop
Die ordner sind so abgelegt, dass sobald ein Projekt abgeschlossen wird der Komplette inhalt in einen dafür erstellten Ordner geschoben werden. Aus diesem Ordner möchte ich dann Alle Unterordner welche nicht leer sind in ein anderes Verzeichnis verschieben. Wie stelle ich das am besten an? Bei move /? oder xcopy /? konnte ich keine solche Befehlserweiterung finden und über die Ausgabe von dir krieg ich ja die Ordnergrösse nicht raus?
Grüsse Apop
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 205368
Url: https://administrator.de/contentid/205368
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
robocopy kann alles - inkl. Kaffee kochen.
Doku ist http://technet.microsoft.com/en-us/library/cc733145%28v=ws.10%29.aspx , gleich der erste genannte Parameter /s sollte leere Verzeichnisse ausschließen. Im Netz finden sich auch zahlreiche Beispiele
(Das Problem bei robocopy: es kann alles - inkl. Kaffee kochen - aber es hat noch niemand die korrekte Parameterkombination zum Kaffee kochen herausgefunden)
Gruß
Filipp
robocopy kann alles - inkl. Kaffee kochen.
Doku ist http://technet.microsoft.com/en-us/library/cc733145%28v=ws.10%29.aspx , gleich der erste genannte Parameter /s sollte leere Verzeichnisse ausschließen. Im Netz finden sich auch zahlreiche Beispiele
(Das Problem bei robocopy: es kann alles - inkl. Kaffee kochen - aber es hat noch niemand die korrekte Parameterkombination zum Kaffee kochen herausgefunden)
Gruß
Filipp
Hallo Apop85!
genügen.
Für alle unmittelbaren Unterordner von "D:\Dein Ordner" einzeln dann etwa so:
Bei diesem Ansatz gilt ein Ordner dann als leer, wenn er und ev vorhandene Unterordner keine einzige Datei enthalten.
Ansonsten schließe ich mich filippg an: Mit "
Grüße
bastla
über die Ausgabe von dir krieg ich ja die Ordnergrösse nicht raus?
Wozu würdest Du die benötigen? Je nach Deiner Definition von "leer" sollte doch schonset "Anz="
for /f %%i in ('dir /s/a-d/w "D:\Dein Ordner\Dein Unterordner"^|findstr "Datei(en)"^|findstr /e "Bytes"') do set /a Anz=%%i
if %Anz% neq 0 echo Ordner verschieben!
Für alle unmittelbaren Unterordner von "D:\Dein Ordner" einzeln dann etwa so:
setlocal enabledelayedexpansion
for /d %%u in ("D:\Dein Ordner\*") do (
set "Anz="
for /f %%i in ('dir /s/a-d/w "%%u"^|findstr "Datei(en)"^|findstr /e "Bytes"') do set /a Anz=%%i
if !Anz! neq 0 echo Ordner "%%u" verschieben!
)
Ansonsten schließe ich mich filippg an: Mit "
/s
" solltest Du sowohl mit "robocopy" als auch mit "xcopy" die passenden Ordner kopiert bekommen, wobei "robocopy" als Vorteil noch die Option "/move
" zu bieten hätte ...Grüße
bastla