Erstellung einer komplizierten Batch Datei, für das Verschieben von Windows Ordnern
Hallo zusammen!
Ich hoffe ihr könnt mir helfen..
Ich brauche Hilfe bei der Erstellung einer (für mich zu) komplizierten Batch datei.
Ich muss massenweise Projektverzeichnisse aus mehreren Abteilungen und Servern auslagern...
Also was will ich?
Eine Batchdatei die mir aus:
q:\Auszulagernde projekte\Abteilung1\123456 Projekt1\unterordner1..2..3
q:\Auszulagernde projekte\Abteilung1\123456 Projekt1\Datei1..2..3
q:\Auszulagernde projekte\Abteilung1\123458 Projekt2\unterordner1..2..3
q:\Auszulagernde projekte\Abteilung1\123458 Projekt2\Datei1..2..3
das macht:
q:\Auszulagernde projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\unterordner1..2..3
q:\Auszulagernde projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\Datei1..2..3
q:\Auszulagernde projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\unterordner1..2..3
q:\Auszulagernde projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\Datei1..2..3
Aus Dokumentationsgründen muss diese Struktur leider zwingend eingehalten werden.
Die doppelten Projektnamen im Pfad kommen durch unterschiedliche Projektnamen in den
einzelnen ABteilungen. Und müssen erhalten bleiben.
Das einzige was (meistens) gleich ist, sind die Projektnummern.
Dieses muss ich dann noch manuell anpassen, aber wenn das Grundgerüst steht, hilft mir das schon riesig weiter...
Ich könnte mir vorstellen das dieses so ungefähr funktionieren könnte:
1.) Feststellen der Projektverzeichnisse
=>DIR "Q:\Auszulagernde Projekte\Schriftverkehr" /B /A:D > d:\qptree.txt
2.) erstellen der Toplevel Verzeichnisse (Projektnamen)
=> Md "q:\Auszulagernde projekte2\Quellnamen aus qptree.txt)"
3.) erstellen der Abteilungsunterordner
=> Md "q:\Auszulagernde projekte2\Quellnamen aus qptree.txt)\Schriftverkehr"
4.) Verschieben der Projektordner mit allen Unterordnern und Dateien ins Ziel
=>move "q:\Auszulagernde projekte\Quellnamen aus qptree.txt\" q:\Auszulagernde projekte2\Quellnamen aus qptree.txt\Abteilung1\"
irgendwie so denke ich...
Bloss das das wie ab, Punkt 2 hackt bei mir...
Hoffe ihr könnt mir helfen!
Vielen, Vielen, Vielen Dank im vorraus!
mfg
Ansgar Geers
Ich hoffe ihr könnt mir helfen..
Ich brauche Hilfe bei der Erstellung einer (für mich zu) komplizierten Batch datei.
Ich muss massenweise Projektverzeichnisse aus mehreren Abteilungen und Servern auslagern...
Also was will ich?
Eine Batchdatei die mir aus:
q:\Auszulagernde projekte\Abteilung1\123456 Projekt1\unterordner1..2..3
q:\Auszulagernde projekte\Abteilung1\123456 Projekt1\Datei1..2..3
q:\Auszulagernde projekte\Abteilung1\123458 Projekt2\unterordner1..2..3
q:\Auszulagernde projekte\Abteilung1\123458 Projekt2\Datei1..2..3
das macht:
q:\Auszulagernde projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\unterordner1..2..3
q:\Auszulagernde projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\Datei1..2..3
q:\Auszulagernde projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\unterordner1..2..3
q:\Auszulagernde projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\Datei1..2..3
Aus Dokumentationsgründen muss diese Struktur leider zwingend eingehalten werden.
Die doppelten Projektnamen im Pfad kommen durch unterschiedliche Projektnamen in den
einzelnen ABteilungen. Und müssen erhalten bleiben.
Das einzige was (meistens) gleich ist, sind die Projektnummern.
Dieses muss ich dann noch manuell anpassen, aber wenn das Grundgerüst steht, hilft mir das schon riesig weiter...
Ich könnte mir vorstellen das dieses so ungefähr funktionieren könnte:
1.) Feststellen der Projektverzeichnisse
=>DIR "Q:\Auszulagernde Projekte\Schriftverkehr" /B /A:D > d:\qptree.txt
2.) erstellen der Toplevel Verzeichnisse (Projektnamen)
=> Md "q:\Auszulagernde projekte2\Quellnamen aus qptree.txt)"
3.) erstellen der Abteilungsunterordner
=> Md "q:\Auszulagernde projekte2\Quellnamen aus qptree.txt)\Schriftverkehr"
4.) Verschieben der Projektordner mit allen Unterordnern und Dateien ins Ziel
=>move "q:\Auszulagernde projekte\Quellnamen aus qptree.txt\" q:\Auszulagernde projekte2\Quellnamen aus qptree.txt\Abteilung1\"
irgendwie so denke ich...
Bloss das das wie ab, Punkt 2 hackt bei mir...
Hoffe ihr könnt mir helfen!
Vielen, Vielen, Vielen Dank im vorraus!
mfg
Ansgar Geers
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 37757
Url: https://administrator.de/contentid/37757
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
7 Kommentare
Neuester Kommentar
Na, aGeers,
dann schau doch das nächste mal in "Batch & Shell" vorbei bei solchen Anforderungen.
Lohnt eigentlich kaum, dafür extra eine Batchdatei zu schreiben - zwei zeilen vom CMD-Prompt tätens auch.
Testen und das "Echo" rauslöschen, wenn es passt.
Bei mir am CMD-Prompt liefert jedenfalls ein
...wobei in dieser Datei f:\temp\qOrdner.txt eine Kopie Deiner ersten JETZT-Zeilen steht.
Also das, was bei Dir qpTree.txt heißt.
Hope That Helps
Biber
dann schau doch das nächste mal in "Batch & Shell" vorbei bei solchen Anforderungen.
Lohnt eigentlich kaum, dafür extra eine Batchdatei zu schreiben - zwei zeilen vom CMD-Prompt tätens auch.
::---snipp MoveMyKrempel.bat
for /f "delims=\ tokens=1-4,*" %%i in (dir /b /s /a:d "q:\Auszulagernde projekte"') do (
Echo md %%i\Auszulagende Projekte2\%%l\%%k\%%l\%%m
Echo Move "%%i\%%j\%%k\%%l\%%m" "%%i\Auszulagende Projekte2\%%l\%%k\%%l\%%m"
)
Bei mir am CMD-Prompt liefert jedenfalls ein
>for /f "delims=\ tokens=1-4,*" %i in (f:\temp\qOrdner.txt) do @echo md %i\Auszulagende Projekte2\%l\%k\%l\%m
md q:\Auszulagende Projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\unterordner1..2..3
md q:\Auszulagende Projekte2\123456 Projekt1\Abteilung1\123456 Projekt1\Datei1..2..3
md q:\Auszulagende Projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\unterordner1..2..3
md q:\Auszulagende Projekte2\123458 Projekt2\Abteilung1\123458 Projekt2\Datei1..2..3
Also das, was bei Dir qpTree.txt heißt.
Hope That Helps
Biber
Moin aGeers,
na, dann war meine Skize ja nicht ganz umsonst...
Indem Du entweder
a) ans Ende der RoboCopy-Zeile 2>nul anhängst ("ignorante Methode")
-oder-
b) indem Du er RoboCopy-Zeile voranstellst: if exist "%%i\P2\%%k\%%l" ("vorausschauende Variante")
Grüße
Biber
P.S. Bitte Beitrag auf "Gelöst" setzen, falls er das jetzt ist.
na, dann war meine Skize ja nicht ganz umsonst...
Kann mir mir einer erklären, wie ich die [Fehlermeldungen] noch unterbinde?
Indem Du entweder
a) ans Ende der RoboCopy-Zeile 2>nul anhängst ("ignorante Methode")
-oder-
b) indem Du er RoboCopy-Zeile voranstellst: if exist "%%i\P2\%%k\%%l" ("vorausschauende Variante")
Grüße
Biber
P.S. Bitte Beitrag auf "Gelöst" setzen, falls er das jetzt ist.
Moin Ansgar,
was lange währt...
Vielen Dank für die Rückmeldung und das Posten Deiner Lösung.
Ich habe die Skripts in Deinen letzten beiden Postings auf umformatiert,
werde jetzt gleich diesen Beitrag auf "Gelöst" und "Geschlossen" setzen und von "Window Server" nach "Batch & Shell" verschieben.
Grüße
Biber
was lange währt...
Vielen Dank für die Rückmeldung und das Posten Deiner Lösung.
Ich habe die Skripts in Deinen letzten beiden Postings auf umformatiert,
werde jetzt gleich diesen Beitrag auf "Gelöst" und "Geschlossen" setzen und von "Window Server" nach "Batch & Shell" verschieben.
Grüße
Biber