Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ordner die nicht Leer sind verschieben

Frage Entwicklung Batch & Shell

Mitglied: Apop85

Apop85 (Level 1) - Jetzt verbinden

21.04.2013 um 00:58 Uhr, 1703 Aufrufe, 3 Kommentare

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
Mitglied: filippg
21.04.2013 um 02:04 Uhr
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
Bitte warten ..
Mitglied: bastla
21.04.2013 um 10:15 Uhr
Hallo Apop85!
ü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 schon
01.
set "Anz=" 
02.
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 
03.
if %Anz% neq 0 echo Ordner verschieben!
genügen.

Für alle unmittelbaren Unterordner von "D:\Dein Ordner" einzeln dann etwa so:
01.
setlocal enabledelayedexpansion 
02.
for /d %%u in ("D:\Dein Ordner\*") do ( 
03.
    set "Anz=" 
04.
    for /f %%i in ('dir /s/a-d/w "%%u"^|findstr "Datei(en)"^|findstr /e "Bytes"') do set /a Anz=%%i 
05.
    if !Anz! neq 0 echo Ordner "%%u" verschieben! 
06.
)
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 "/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
Bitte warten ..
Mitglied: Endoro
21.04.2013, aktualisiert um 11:31 Uhr
Hallo Apop85,

feststellen, ob ein Ordner und seine Unterordner leer sind:
01.
for /f %%i in ('dir /s "startfolder"') do call set files=%%folders%%&set folders=%%i 
02.
if %files% equ 0 (echo Alles leer!) else echo %files% Datei(en) gefunden!

Gruss!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...