mehrere Unterordner in mehrere Überordner kopieren

cofffeeman

Cadet 1st Year
Registriert
Jan. 2024
Beiträge
13
Guten Morgen Computerfreunde,

ich habe ein Problem und hoffe ihr könnt mir dabei helfen:

Ich habe folgende Struktur:

Ordner
-> Unterordner
-> Unterordner
-> Dateien (bzw. auch Ordner) (von hier)


Diese Struktur habe ich 100 x.

Ich möchte nun folgendes automatisiert durchführen lassen.

Dateien bzw. (Ordner) werden ausgeschnitten und in den Ordner ganz oben kopiert. Die beiden Unterordner werden gelöscht.

Dies möchte ich bei allen Ordner durchführen.

Gibt es da etwas das mir diesen Prozess ermöglicht?

Ich bräuchte bitte auch eine Erklärung, wie das funktionieren soll, falls ihr Programme bzw. Explorer Befehle anbietet.

VIelen Dank im Voraus.
 
Guten Morgen und herzlich Willkommen im Forum.

Ja ganz einfach.
Geh in den Ordner, geh dann auf die suche und suche nach:
1705567100350.png

Dann werden alle Daten aufgelistet,
Dann Ausschneiden und in den Ordner wo es hin soll kopieren.
 
Guten Morgen und vielen Dank für die Begrüßung Roger,

Das hilft mir glaube ich nicht, da ich nicht alles in einen Ordner haben will.

Die Struktur soll bestehen bleiben.

Außerdem werden mir so auch die ganzen Unterordner mit angezeigt. Das ist natürlich sehr unübersichtlich.

Ich möchte das auch nicht manuell machen. Manuell ist kein Ding. Nur ist das ein enormer Aufwand.
 
Zuletzt bearbeitet:
cofffeeman schrieb:
Dateien bzw. (Ordner) werden ausgeschnitten und in den Ordner ganz oben kopiert. Die beiden Unterordner werden gelöscht.
Einfach verschieben aus den Unterordnen und dann die leeren Ordner löschen. Unter Linux würde es mit mv und find machbar sein. Hier kann man sich kleines Skript basteln.

Wenn ich es richtig verstanden habe.
Ergänzung ()

Mir ist auch nicht so ganz ersichtlich was der IST und SOLL Zustand sein soll.
 
Ja, eine konkrete Darstellung von IST- und SOLL-Zustand (ein Ausschnitt reicht) würde stark helfen.
 
Ich versuche es nochmal genauer zu beschreiben mit Namen für das bessere Verständnis:

Ich habe ein Root Verzeichnis. In diesem Root Verzeichnis habe ich drei Ordner:

Filme
Bilder
Musik

In diesen Ordner sind jeweils 3 weitere Unterordner zu finden. Also so:


Filme -> Namen -> Größe -> Länge -> Inhalt (Dateien und Ordner)
Bilder -> Ort -> Zeit -> Kinder -> Inhalt (Dateien und Ordner)
Musik -> Titel -> Interpret -> Album ->Inhalt (Dateien und Ordner)


In den letzten Unterordnern sind dann Dateien sowie weitere Ordner drin. Also so:

Länge -> Mac Miller.mp3
Eminem.mp3
mehrer Lieder (Ordner)

Kinder -> Inhalt genau wie bei Ordner "Länge" (Jedoch nicht genau gleiche Dateien und Ordner nur die Struktur ist gleich)

Album - > Inhalt genau wie bei Ordner "Länge" (Jedoch nicht genau gleiche Dateien und Ordner nur die Struktur ist gleich)


Jetzt zu dem was ich haben will:

Den Inhalt von Ordner "Länge" (Mac Miller.mp3, Eminem.mp3, Mehrere Lieder (Ordner) möchte ich nun in das Verzeichnis "Musik" kopiert haben. Danach möchte ich die Ordner die über diese Inhalten waren gelöscht haben. Das wären in unerem Fall die Ordner "Titel, Interpret, Album".

Am Ende habe ich Den Ordner "Musik" und darin die enthalten Inhalte des Ordners "Album"

Struktur wäre dann so:

Von: Musik -> Titel -> Interpret -> Album ->Inhalt (Dateien und Ordner)

Zu: Musik -> Inhalt (Dateien und Ordner)


Mit dem Inhalt der Ordner "Kinder" und dem Inhalt des Ordners "Album" soll das gleiche passieren. Dieser Inhalt soll aber in die jeweiligen Ordner verschoben werden. Also Inhalt des Ordners Kinder in "Bilder" und Inhalt des Ordners "Album" in "Musik"
 
Zuletzt bearbeitet:
Das bekommst Du so nur mit Scripting hin: DOS, Powershell, WSL (Bash)...

Mach aber auf alle Fälle VORHER eine Sicherung und bau Dir ein Testszenario auf, was Du immer wieder herstellen kannst. Mit ChatGPT kann man das prima lösen, wenn man nicht programmieren kann.

Deine Ordnerstruktur bei Filmen? Wieso ist die so gemacht worden? Größe und Länge?
 
Das mit der Ordnerstruktur ist nur ein Beispiel fürs Verständnis. Das ist in der Realität anders.

Kannst du mir beim scripten helfen? Ich habe sowas noch nicht gemacht und wüsste nicht wo ich anfangen soll. Gibt es mir Infos? Oder ein Programm für mein Problem?

Danke
 
Da Du eine gewisse Logik in der Verarbeitung benötigst, schaffst Du das mit einem Programm nicht, das mußt Du selbst programmieren.

Hinweise hast Du schon bekommen, Konsole (Eingabeaufforderung) mit DOS Befehlen, Powershell, und dann ChatGPT fragen. Du kennst ChatGPT? Da kannst Du prima solche Fragen stellen.
https://www.chip.de/downloads/ChatGPT-Desktop-Application_184581403.html
Oder Microsoft Copilot mal verwenden:
https://copilot.microsoft.com/
Ergänzung ()

cofffeeman schrieb:
Kannst du mir beim scripten helfen?
Dir ist klar, daß es - wenn man es richtig macht - einiges an Aufwand ist? Dazu müßtest Du selbst die komplette Ordnerstruktur liefern (nicht die Dateien selbst), und genau beschreiben, wohin was soll mit guten Beispielen.

https://copilot.microsoft.com/
1705573642540.png


Code:
param (
    [string]$sourceDirectory,
    [string]$destinationDirectory
)

$lastFolder = Get-ChildItem $sourceDirectory -Recurse | Where-Object { $_.PSIsContainer } | Select-Object FullName | Sort-Object FullName -Descending | Select-Object -First 1
Move-Item $lastFolder.FullName $destinationDirectory

Willkommen in der schönen Welt der KI. 🤗
 
Zuletzt bearbeitet:
Ich kenne dein Problem zwar nicht im Detail, aber aus persönlicher Erfahrung möchte ich dir doch einen andern Ansatz empfehlen - nach der Methode KISS ;)

Ich hatte in meinen Daten (und zwar persönliche Daten seit anfangs der 90er Jahre ...) ebenfalls eine "geordnete Ordnerstruktur", die sinnvoll war, als ich täglich mit diesen Daten gearbeitet habe. Später bzw. in der Archivablage ist das nur noch lästiger Ballast.
Ich habe lange nach Tools gesucht, die mit * oder andern Platzhaltern umgehen können. Aber überzeugend waren die Resultate nicht, insbesondere weil die Pfadstruktur halt dann doch teilweise unterschiedlich (lang) war.

Kurz - Ich habe es anders lösen müssen:

A) Im Explorer schrittweise** sämtliche zu bereinigenden Ordner markiert und in einen (neuen) Ordner "Buffer" kopiert (ja, mitsamt Unterordner).
B) Im Ordner "Buffer" eine Suche nur nach den Dateien gestartet (.) => Liste mit allen Dateien, die im "Buffer" irgendwo vorhanden sind [selbstverständlich muss dafür in der Suche die Option "Unterordner einbeziehen" aktiviert sein].
Hinweis: Das war mein Vorgehen. In deinem Fall wäre es sinnvoll, mehrere Suchen durchzuführen, mal nach jpg, png oder andern Bilddateien, dann nach Filmen, dann nach Musik. Man kann ja mehrere Dateitypen in der Suche kombinieren.
C) Diese Liste(n) kopieren und am richtigen Ort bzw. im richtigen Ordner einfügen.
D) Testen, Dateien öffnen etc.
E) Ist alles i.O., kann man den Ordner "Buffer" löschen
F) Danach im Explorer sämtliche Ordner markieren und löschen, die in A) als Quellen verwendet worden sind. Damit werden auch Unterordner gelöscht (nötigenfalls Funktion aktivieren).

** schrittweise, um Fehlermeldungen zu vermeiden (zu viele Dateien, zu langer Name, zu wenig Speicherplatz, you name it)

Das ist sicher nicht die eleganteste Lösung, aber weil du manuell vorgehst, bist du flexibler als ein Script.
 
Aber das hast Du hoffentlich vorher entsprechend gesichert, daß Du jederzeit wieder Deine Originalstruktur wieder herstellen konntest? Bei solchen Aktionen verliert man sehr schnell Dateien bzw. richtet irreversiblen Schaden an.

Ich mach sowas gerne gescriptet und mit einem Fallback Mechanismus (+ Backup). Spart eine Menge Arbeit.
 
Wenn man solche Änderungen macht, sollte man in den Skripten ein DRY-MODUS einbauen. D.h. das Skript zeigt, was es machen würde, ohne es wirklich zu ändern. Und wenn man es final ändern will, nimmt man den DRY-MODUS raus.
 
  • Gefällt mir
Reaktionen: nutrix
a) ist ein Backup vorher immer wichtig, egal ob mit DRY oder ohne
b) Irgendwer sagte mal: Bilder sagen mehr als Tausend Worte.
Warum nicht den Wunsch weniger abstrakt einmal konkret für ein Beispiel zeigen?
 
  • Gefällt mir
Reaktionen: nutrix
Guten Morgen verehrte Freunde,

danke an euch alle für eure Zeit.

Vorallem danke ich dir nutrix für das bereitstellen eines Scripts. Ich werde es gleich mal testen.

Zazie dir ebenfalls ein großes Danke. Deiner Lösung werde ich ebenfalls etwas zeit widmen.

Mal sehen ob es was wird.

Ihr habe schonmal sehr geholfen.

Vielen Lieben Dank! :)
 

Ähnliche Themen

Zurück
Oben