Ordner automatisch verschieben

matschekef

Newbie
Registriert
Aug. 2016
Beiträge
2
Hallo zusammen,

ich habe folgende Ordnerstruktur:
„Hauptordner1“ -> „Ordner A“ -> „Unterordner 1“ -> Daten
-> „Unterordner 2“ -> Daten
-> „Unterordner 3“ -> Daten

Von den Hauptordnern hab ich ca 3500.
Nun möchte ich jeweils die Unterordner 1 bis 3 mit den jeweiligen Daten direkt in den entsprechenden Hauptordner verschieben.
Wie bekomm ich das automatisiert hin ohne dass ich, über 3000 Ordnern manuell verschieben muss? Ich bin über jeden Tipp dankbar!
 
Fellor schrieb:
Schreib dir z.B. 'n Skript.

Hast du dazu auch einen konkreten Vorschlag im Sinne von Code?

@te: Die Plattform (Windows, Linux, Mac) ist noch zu nennen für weiterführende Ideen.
 
Windows vorrausgesetzt, einfach die Windows Suche benutzen. In das Suchfenster des Ordners "*.* NOT Folder" (hier win 10) eingeben und das Ergebnis nach belieben verwursten. Der link beschreibt es step by step für windows 7. Bei der Suche einfach wie üblich die Unterordner mit einschließen.

EDIT: Achso es sind 3500 "Hauptordner" die auch beibehalten werden sollen, dann trifft wohl meine Lösung nicht ins schwarze.
 
Zuletzt bearbeitet:
Danke für die fixen Antworten.

Zum Skript: nette Idee, hab ich noch nie gemacht und überhaupt keine Ahnung. aber ich werd mal googlen.

Betriebssystem ist Windows 7 Prof. SP1

zur Windowssuche: genau die Daten der Ordner sollen beibehalten werden, deswegen komme ich mit der Suchfunktion nicht weiter.
 
Mit Powershell lässt sich das recht schnell und unkompliziert abbilden.
Einfach mit get-childitem kannst du dir alle Dateien aus den Unterordnern holen, deren Pfad bestimmten und diese mit move-item in die enstprechenden Hauptordner schieben
 
aufgabe ist nicht ganz eindeutig gestellt, gebe trotzdem 'ne loesung an, die man anpassen kann bei bedarf.

cygwin besorgen, bash oeffnen, dann in etwa so:
Code:
cd /cygdrive/c/Ueberordner/
for i in */; do #1
  cd "${i}"

  for j in */; do #2
    cd "${j}"

    for k in */; do #3
      cd "${k}"

      mv * ../../ #4

      cd ..
    done

    cd ..
  done

  cd ..
done

erklaerung:
  1. looped ueber alle Hauptordner
    [*] looped ueber alle Ordner[j] (?)
    [*] looped ueber alle Unterordner[k]
    [*] schmeißt den inhalt der Unterordner[k] in den respektiven Hauptordner. falls das in den Ordner[j] soll, einfach ein "../" entfernen.
 
Zurück
Oben