Vielen Datein aus versch. Verzeichnissen verschieben

medico

Erfahrenes Mitglied
Viele Datein aus versch. Verzeichnissen verschieben

Hallo zusammen,

ich stehe vor einer riesigen Aufgabe und möchte mir diese gerne einfacher gestalten und villeicht kann man das mit einer Batchdatei oder so.

Also zu meiner Aufgabe.
Ich habe hier ein Verzeichnis mit ca. 1500 Ordnern in jedem Ordner sind weitere Unterordner und darin sind wieder Ordner (dieser heißt immer 3D) und in dem Ordner 3D sind Datein. Nun sollen alle Datein aus dem Ordner 3D in den Ordner in den der 3D Ordner ist verschoben werden. Versteht man was ich meiner?

Ich versuche das mal als Bilder darzustellen:
So ist es aktuelle
1.JPG

So soll es aussehen, aber mit allen Ordnern:
2.JPG

Und die leeren 3D Ordner sollen dann gelöscht werden.

Ist das alles über ein Batch-Programmierung möglich?

Gruß Medico
 
Zuletzt bearbeitet:
Moin,

>> Versteht man was ich meine?
Ja klar, du willst die Files aus ....3D einen Ordner höher speichern und dann ....3D löschen ;-)
Also das geht mittels einer Batchdatei auf jeden Fall (copy DATEI ../DATEI - so in der Art; ".." ist das übergeordnete Verzeichnis)

Allerdings wüsste ich so aus dem Stand auch nicht wirklich, wie Du per Batch zum Suchen durch Deinen gesamten Verzeichnisbaum laufen könntest. Vermutlich wird auch das gehen, aber eben nicht so simpel :-(

Kannst Du Dir nicht besser auf die Schnelle ein kleines Java- oder C++-Progrämmel schreiben, das das erledigt ?

Gruß
Klaus
 
Danke für Deine Antwort....ich muss leider zu geben das ich Batchdatei nur mit Hilfe des Internets zusammen bekommen, mal hier was probieren und mal da....aber ich wüsste nicht wie ich das so hinkriege...
Darum hoffe ich ja das mir hier jemand helfen kann ;-)

Naja und Java und C++ kann ich auch nicht *g*

Wie gesagt es wäre super wenn mir jemand helfen kann, aber wenn es zu viel arbeit ist, dann kann ich es verstehen. Dann muss ich es zu Fuss machen ;-)
 
Hi.

In den 3D Verzeichnissen selbst gibt es keine Unterverzeichnisse, richtig?
Code:
@echo off

set subdir=3d

for /r %1 %%a in (%subdir%) do (
    if exist "%%a" (
        call :doMove "%%a"
        echo rmdir /q "%%a"
    )
)
goto :eof

:doMove
set target=%~dp1
for %%b in (%1\*) do (
  echo move "%%b" "%target%"
)
goto :eof
Das Skript in eine Datei speichern, zB. "3dmove.cmd". Aufrufen:
Code:
3dmove.cmd c:\pfad\zu\verzeichnis
Ausgegeben werden alle Befehle zum Bewegen und Löschen der Dateien und Verzeichnisse.

Die kann man sich auch in eine neue Datei speichern:
Code:
3dmove.cmd c:\pfad\zu\verzeichnis > 3dmove_yes.cmd
Diese Datei erstmal betrachten ob es OK aussieht und es auch wirklich alles durchgeführt werden soll. Falls ja, einfach aufrufen:
Code:
3dmove_yes.cmd
Gruß
 
Zurück