Batch welche automatisch erstellten Ordner kopiert
Ich bräuchte eine Batch-Datei die einen bestimmten Unterordner eines Programmes in einen anderen Ordner kopiert.
Das Programm erzeugt in einem temporären Ordner einen Ordner der immer einen anderen Namen hat.
Nennen wir das Programm imakeitforyou, dann wird in dem Temp-Ordner ein neuer Ordner namens imakeitforyou_"Zahlen" erzeugt.
Die "Zahlen" sind dabei zufällig gewählt, so dass ich dazu nichts sagen kann.
Die Batch soll mir jetzt den erzeugten Ordner (imakeitforyou_"Zahlen") in einen von mir - auch in der Batch - anzugebenden Ordner kopieren.
Beispiel könnte so ähnlich aussehen:
IF EXIST "C:\my_prog\imakeitfouryou_1234" (
md "C:\my_prog\kopie_von_imakeitforyou"
copy "C:\my_prog\imakeitforyou_1234\*.*" "C:\my_prog\kopie_von_imakeitforyou\*.*"
)
Die Frage ist, wie die Batch aussehen muss, wenn sie den automatisch erstellten Ordner - mit den immer anderen Zahlen - auslesen und kopieren soll?
PS: Beispielcode ist nicht von mir!
Das Programm erzeugt in einem temporären Ordner einen Ordner der immer einen anderen Namen hat.
Nennen wir das Programm imakeitforyou, dann wird in dem Temp-Ordner ein neuer Ordner namens imakeitforyou_"Zahlen" erzeugt.
Die "Zahlen" sind dabei zufällig gewählt, so dass ich dazu nichts sagen kann.
Die Batch soll mir jetzt den erzeugten Ordner (imakeitforyou_"Zahlen") in einen von mir - auch in der Batch - anzugebenden Ordner kopieren.
Beispiel könnte so ähnlich aussehen:
IF EXIST "C:\my_prog\imakeitfouryou_1234" (
md "C:\my_prog\kopie_von_imakeitforyou"
copy "C:\my_prog\imakeitforyou_1234\*.*" "C:\my_prog\kopie_von_imakeitforyou\*.*"
)
Die Frage ist, wie die Batch aussehen muss, wenn sie den automatisch erstellten Ordner - mit den immer anderen Zahlen - auslesen und kopieren soll?
PS: Beispielcode ist nicht von mir!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 112147
Url: https://administrator.de/contentid/112147
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
7 Kommentare
Neuester Kommentar
Es ist also eine Aktion die mehrmals stattfindet.
DIR /AD /B > C:\Ordnerinhalt_von_imakeitfouryou.txt
FOR /F %%i IN ("C:\Ordnerinhalt_von_imakeitfouryou.txt") DO @copy %%i "C:\neuer_Speicherort"
Die erste Zeile ließt zuerst alle Ordner aus C:\Ordnerinhalt_von_imakeitfouryou.txt aus und schreibt sie in die Textdatei C:\Ordnerinhalt_von_imakeitfouryou.txt.
In der 2. zeile wird per FOR-Schleife die Text-Datei ausgelesen und in den neuen Ordner "C:\neuer_Speicherort" kopiert. Dieser Vorgang wiederholt sich solange, wie Strings in der Text-Datei enthalten sind.
Das dürfte so für dein Gebrauch genügen.
LG Tobi
DIR /AD /B > C:\Ordnerinhalt_von_imakeitfouryou.txt
FOR /F %%i IN ("C:\Ordnerinhalt_von_imakeitfouryou.txt") DO @copy %%i "C:\neuer_Speicherort"
Die erste Zeile ließt zuerst alle Ordner aus C:\Ordnerinhalt_von_imakeitfouryou.txt aus und schreibt sie in die Textdatei C:\Ordnerinhalt_von_imakeitfouryou.txt.
In der 2. zeile wird per FOR-Schleife die Text-Datei ausgelesen und in den neuen Ordner "C:\neuer_Speicherort" kopiert. Dieser Vorgang wiederholt sich solange, wie Strings in der Text-Datei enthalten sind.
Das dürfte so für dein Gebrauch genügen.
LG Tobi
Hallo Olinux!
Eigentlich sollte eine Zeile Batch (bei Direkteingabe an der Kommandozeile nur %i anstelle von %%i) genügen:
bzw wenn die kopierten Dateien in einen Unterordner sollen:
Grüße
bastla
Eigentlich sollte eine Zeile Batch (bei Direkteingabe an der Kommandozeile nur %i anstelle von %%i) genügen:
for /d %%i in ("C:\my_prog\imakeitfouryou_*.*") do xcopy "%%i\*.*" "C:\my_prog\kopie_von_imakeitforyou\"
for /d %%i in ("C:\my_prog\imakeitfouryou_*.*") do xcopy "%%i\*.*" "C:\my_prog\kopie_von_imakeitforyou\%%~nxi\"
bastla