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, 3115 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
Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Sicherheit

Eventuell neue Lücke in Intels ME

Information von sabines zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Humor (lol)
Freidach Beitrag (39)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
SSD - Win7 Lags (19)

Frage von ph5555 zum Thema Windows 7 ...

Firewall
Firewall Firmeneimsatz (16)

Frage von wiesi200 zum Thema Firewall ...