Verschieben von Dateien aus Unterordnern in Hauptordner unter vielen Ordnern

Verschieben von Dateien aus Unterordnern in Hauptordner unter vielen Ordnern

Mein Fotoimportprogramm legt die Sicherungskopie der Fotos in einem Ordner mit der Bezeichnung „importiert am DATUM“ ab. Diese Ordner werden als Unterordner des gewünschten Standortordners erstellt. Ich habe viele solcher „importierten“ Ordner unter mehreren Ordnerebenen. Ein Beispiel wäre:

C:\Bilder\Alle Fotos 2013\01jan13\Importiert am 18. Januar.

Gibt es eine Möglichkeit, vom Bilderordner aus alle Unterordner nach unten zu durchsuchen und das Programm alle Dateien in einem „Importiert am“-Ordner in den darüber liegenden Ordner verschieben zu lassen? Tut mir leid, wenn das verwirrend ist!

Vielen Dank für jede Hilfe

Antwort1

Dies funktioniert unter Windows 7. Wie es bei anderen Versionen funktioniert, weiß ich nicht:

for /r C:\pictures %F in (*.*) do move %F %F\..\..

Anmerkungen:

  • for /r C:\pictures %F in (*.*) do …führt die folgende Anweisung einmal für jede Datei unter aus C:\pictures, rekursiv, wobei %Fauf den Dateinamen gesetzt ist.
  • moveverschiebt eine Datei.
  • Hier wird es knifflig. Sie wissen, dass cd ..Sie damit eine Ebene höher gelangen. Nun, es stellt sich heraus, dass Sie sagen können \Users\rshonaker\Documents\fubar.doc\.., und es wird auf \Users\rshonaker\Documents(das Verzeichnis, in dem sich die Datei befindet) verweisen, also %F\..ist das Verzeichnis, in dem sich die Datei %Fbefindet. Und dann %F\..\..ist das übergeordnete Verzeichnis dieses Verzeichnisses.

Weitere Hinweise:

  • Mit Vorsicht verwenden. Wenn Sie Dateien in haben C:\pictures, wird versucht, sie nach zu verschieben C:\. Wenn Sie Dateien in haben C:\pictures\all photos 2013, wird versucht, sie nach zu verschieben C:\picturesusw.
  • Wenn Sie dies in ein Skript einfügen möchten, ersetzen Sie alle Vorkommen von %Fdurch %%F.

verwandte Informationen