deejaybee
Goto Top

Batch - Ordnerstruktur ändern und Daten verschieben

Hallo zusammen,

ich habe da 2 Anliegen, die mit Batch zu tun haben.

Zum Einen möchte ich in eine vorgegebene Ordnerstruktur Dateien / Ordner neu hinzufügen / erstellen.
c:\ziel\ ordner 1 \ sort \ "neu"
c:\ziel\ ordner 2 \ sort \ "neu"
c:\ziel\ ordner 3 \ sort \ "neu"
c:\ziel\ ordner 4 \ sort \ "neu"

Die Ordner heißen unglücklicherweise natürlich nicht wie im Beispiel, sondern die "ordner 1-4" haben mehr oder weniger "zufallsnamen".
Es würde mir also eine Schleife reichen, die durch die Ordner geht und mit der ich dann z.b. ein einfaches "mkdir" habe, um einen neuen Ordner zu erstellen. Ordner "neu" heißt immer "neu".


Zum Anderen:

Aus den Quellordnern sollen die Daten in die Zielordner kopiert/verschoben werden

quelle:
c:\quelle\ ordner 1 \ datei1.pdf
c:\quelle\ ordner 2 \ datei17.pdf
c:\quelle\ ordner 3 \ datei0815.pdf


ziel:
c:\ziel\ ordner 1 \ sort \ sonst \ datei1.pdf
c:\ziel\ ordner 2 \ sort \ sonst \ datei17.pdf
c:\ziel\ ordner 3 \ sort \ sonst \ datei0815.pdf

Was passiert, wenn der zielordner nicht existiert?
Kann man dann die Quelldatei in einen "Zwischenordner" verschieben? Oder entsprechend einen neuen Zielordner anlegen?

Hoffe, Ihr könnt mir dabei helfen.

Schöne Grüße

Content-ID: 279176

Url: https://administrator.de/contentid/279176

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

122990
122990 04.08.2015 aktualisiert um 16:39:48 Uhr
Goto Top
Moin,
da reicht doch ein Robocopy Befehl wenn ich das richtig verstanden habe ...
robocopy "C:\quelle" "C:\ziel" * /E /COPYALL /W:1 /R:1  
Gruß grexit
DeeJayBee
DeeJayBee 05.08.2015 um 09:20:16 Uhr
Goto Top
Moin grexit,

leider nein.

in Beispiel 2 kommen die Daten zwar in den "selben" Ordner "x", jedoch noch etwas weiter unterverzweigt.
also von
c:\quelle\ ordner 1 \ datei1.pdf
nach
c:\ziel\ ordner 1 \ sort \ sonst \ datei1.pdf

Der Ordnername ist variabel, der Rest immer gleich. (Und es sind immer *.pdf Dateien)

Schöne Grüße
122990
122990 05.08.2015 aktualisiert um 11:17:09 Uhr
Goto Top
Na dann,
@echo off
set "quelle=C:\quelle"  
set "ziel=C:\Ziel"  
for /d %%a in ("%quelle%\*") DO robocopy "%%a" "%ziel%\%%~nxa\sort\sonst" *.pdf /COPYALL /R:1 /W:1  
Pfade natürlich den Bedürfnissen anpassen (auch in Zeile 4 den ergänzenden Ordnerbaum.

Gruß grexit