Benötige eine .bat die mir aus mehreren Unterordner gewisse Dateien kopiert wobei der Ordnername des Hauptordners variiert
Hallo ihr "Cracks"
hoffe ich bin bei euch richtig... ich komm hier einfach nicht weiter
erstmal meine Ordnerstruktur zum besseren Verständnis
-Autos
---Marke 1
---Marke 2
Model 1
Model 2
Spoiler
Endrohr
Bild.png
Text.txt
---Marke 3
---Marke 4
Model 1
Model 2
Spoiler
Endrohr
Bild.png
Text.txt
ich hätte hier gerne eine .bat, die mir z.B. das Bild.png aus dem Unterordner "Endrohr" in den jeweils richtigen Überordner "Model 1 - Model 2" usw. kopiert.
als Beispiel : das Bild aus Autos\Marke 2\Model 1\Endrohr\Bild.png
soll in den Ordner Autos\Marke 2\Model 1\Bild.png
Mein Problem hierbei ist, dass die Hauptordner nicht einheitlich sind (Marke 1 - Marke 2 - Marke 3 usw.)
hier habe ich mal eine .bat zusammen geschustert, mit der ich alle *.png in den Überordner kopiere...
weiter hab ichs noch nicht gebracht, da ich nicht weiss, wie ich der .bat erklären muss es in die richtigen Ordner zu legen geschweige denn aus den richtigen Ordnern zu holen... mit einem spezifischen Pfad wäre das ja kein Ding aber so... evtl. gehts ja auch gar nicht ?!
For /F "Tokens=*" %%i in ('Dir /B /S "d:\test\autos\*.png"') do Move /Y "%%~fi" "d:\test\model 1
habs auch mal so probiert :
For /F "Tokens=*" %%i in ('Dir /B /S "d:\test\autos\*\endrohr\*.png"') do Move /Y "%%~fi" "d:\test\autos\model 1
ging aber leider nicht mit \*\
würd mich freuen, wenn mal jmd. drüber schauen könnte und mich da schlauer macht - Danke schon mal
mfg - Riogta ;)
hoffe ich bin bei euch richtig... ich komm hier einfach nicht weiter
erstmal meine Ordnerstruktur zum besseren Verständnis
-Autos
---Marke 1
---Marke 2
Model 1
Model 2
Spoiler
Endrohr
Bild.png
Text.txt
---Marke 3
---Marke 4
Model 1
Model 2
Spoiler
Endrohr
Bild.png
Text.txt
ich hätte hier gerne eine .bat, die mir z.B. das Bild.png aus dem Unterordner "Endrohr" in den jeweils richtigen Überordner "Model 1 - Model 2" usw. kopiert.
als Beispiel : das Bild aus Autos\Marke 2\Model 1\Endrohr\Bild.png
soll in den Ordner Autos\Marke 2\Model 1\Bild.png
Mein Problem hierbei ist, dass die Hauptordner nicht einheitlich sind (Marke 1 - Marke 2 - Marke 3 usw.)
hier habe ich mal eine .bat zusammen geschustert, mit der ich alle *.png in den Überordner kopiere...
weiter hab ichs noch nicht gebracht, da ich nicht weiss, wie ich der .bat erklären muss es in die richtigen Ordner zu legen geschweige denn aus den richtigen Ordnern zu holen... mit einem spezifischen Pfad wäre das ja kein Ding aber so... evtl. gehts ja auch gar nicht ?!
For /F "Tokens=*" %%i in ('Dir /B /S "d:\test\autos\*.png"') do Move /Y "%%~fi" "d:\test\model 1
habs auch mal so probiert :
For /F "Tokens=*" %%i in ('Dir /B /S "d:\test\autos\*\endrohr\*.png"') do Move /Y "%%~fi" "d:\test\autos\model 1
ging aber leider nicht mit \*\
würd mich freuen, wenn mal jmd. drüber schauen könnte und mich da schlauer macht - Danke schon mal
mfg - Riogta ;)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 193057
Url: https://administrator.de/forum/benoetige-eine-bat-die-mir-aus-mehreren-unterordner-gewisse-dateien-kopiert-wobei-der-ordnername-des-193057.html
Ausgedruckt am: 13.05.2025 um 15:05 Uhr
5 Kommentare
Neuester Kommentar
moin Riogta,
in einem Pfadbestandteil (vor dem Backslash) darf kein Platzhalter enthalten sein.
Die erste Schleife sollte aber so funktionieren mit einem Abschließenden Anführungszeichen.
wenn Du das Verzeichnis "Endrohr" mit einbeziehen möchtest, damit die Datei nur ein Verzeichnis Höher verschoben wird:
Gruß Phil
ging aber leider nicht mit \*\
in einem Pfadbestandteil (vor dem Backslash) darf kein Platzhalter enthalten sein.
Die erste Schleife sollte aber so funktionieren mit einem Abschließenden Anführungszeichen.
wenn Du das Verzeichnis "Endrohr" mit einbeziehen möchtest, damit die Datei nur ein Verzeichnis Höher verschoben wird:
for /f "delims=" %%i in ('dir /b /s "D:\test\autos\*.png" ^|find /i "\Endrohr\" ') do move "%%i" "%%~dpi.."
Gruß Phil
Wenn der Ordnername gleich beginnt dann lass den Backslash hinter Endrohr weg und es Findet alle Pfade, welche im Pfad einen Ordnernamen beginnend mit Endrohr enthalten.
Hilfe bekommst Du wie immer in der CMD-Line über Befehl /? oder bei CMD internen Befehlen auch über Help Befehl
Findstr kann besser Filtern.
Gruß Phil
Hilfe bekommst Du wie immer in der CMD-Line über Befehl /? oder bei CMD internen Befehlen auch über Help Befehl
find /?
help
Gruß Phil