Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Viele Dateien in Unterverzeichnisse verschieben (automatisiert)

Frage Microsoft Windows 7

Mitglied: arator65

arator65 (Level 1) - Jetzt verbinden

14.02.2014 um 15:22 Uhr, 3142 Aufrufe, 1 Kommentar

Hallo zusammen,

ich habe Verzeichnisse mit Fotos, zum Teil sind da bis zu 15.000 Fotos in einem Verzeichnis.

Nun möchte ich diese Vielzahl an Bildern in Unterverzeichnisse mit jeweils 1000 oder 1500 Fotos verschieben.
Das Ursprungsverzeichnis soll also nach Ausführen des Skripts/Tools mehrere Unterverzeichnisse haben (part1, part2, part3, ...) in denen jeweils eine definierte Anzahl an Fotos enthalten ist.

Schön wäre, wenn das Tool nix tun würde, wenn weniger als die maximale Anzahl pro Unterverzeichnis vorhanden ist

Geht das mit einem Skript, gibt es dafür ein Tool, oder hat jemand eine andere Idee ?

Danke schon mal
Mitglied: colinardo
14.02.2014, aktualisiert 27.06.2014
Hallo arator65, Willkommen im Forum!
Ich hatte dazu mal vor einiger Zeit ein Powershell-Script geschrieben, das Dateien gleichmäßig auf Unterordner verteilt:
Das Script verteilt Dateien in gleichen Teilen gleichmäßig auf Unterordner. Der Ordner in dem die Dateien liegen gibt man in Zeile 1 an (ohne Backslash am Ende) und die gewünschte Anzahl der Dateien in jedem Ordner, in Zeile 2. Die Dateien werden dann in Unterordner mit Namen part1 , part2 , etc. verschoben.
01.
$folder = "D:\Bilder" 
02.
$splitNum = 1000 
03.
$items = dir "$folder\*.*" | ?{!$_.PSIsContainer} 
04.
$folderCount = [Math]::floor(($items.Count / $splitNum)) 
05.
if (($items.Count) -ge $splitNum ){ 
06.
    for ($i=0;$i -lt $folderCount ; $i++){ 
07.
        $subFolder = "$folder\part$($i+1)" 
08.
        if (!(Test-Path -Path $subFolder)){ mkdir $subFolder} 
09.
        for ($j=$i*$splitNum;$j -lt ($i*$splitNum)+$splitNum ; $j++){ 
10.
            $items[$j].MoveTo("$subFolder\$($items[$j].Name)") 
11.
12.
13.
}else{ 
14.
    write-host "Im Ordner $folder sind nur $($items.Count) Dateien enthalten! Eine Aufsplittung zu je $splitNum Dateien ist daher nicht möglich." 
15.
}
Der Rest der Bilder der nicht mehr ganzzahlig durch die Anzahl (1000) teilbar ist, verbleibt im Ordner, so wie du das wolltest.

Grüße Uwe
p.s. wenn du noch nie mit Powershell-Scripten zu tun hattest, hier ergänzend noch eine Kurzanleitung dazu wie man solche Scripte ausführt:
Anleitung: Wie starte ich Powershell-Scripte
  • Zuerst speicherst man den Code in einer Textdatei mit der Endung .ps1.
  • Wenn man zum ersten mal Powershell-Scripte ausführt, musst man einmalig vorher noch das Ausführen von Scripten freischalten. Dazu öffnet man eine Powershell-Konsole und gibt dort den Befehl Set-ExecutionPolicy RemoteSigned -Force ein. Um diese Policy für alle User auf dem Rechner zu setzen muss man diesen Befehl in einer Powershell-Konsole mit Admin-Rechten starten. Noch ein Hinweis für 64-Bit-Systeme: Hier sollte sowohl für die 32bit und 64Bit Variante der Powershell die Policy in einer Admin-Konsole gesetzt werden: Set-ExecutionPolicy RemoteSigned -Force; start-job { Set-ExecutionPolicy RemoteSigned -Force } -RunAs32
  • Jetzt kann das Powershell-Script in der Konsole mit Eingabe des Pfades der Scriptdatei, oder mit einem Rechtsklick auf die Script-Datei :Mit Powershell ausführen gestartet werden.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst For Schleife für Abgleich mit Text-Datei und Unterverzeichnisse (4)

Frage von grisur zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien verschieben die älter sind wie 1 Tag (3)

Frage von pblacky zum Thema Batch & Shell ...

Batch & Shell
Datei nach Erstellungsdatum verschieben (2)

Frage von Kugelschreiber1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...