riogta
Goto Top

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 ;)

Content-Key: 193057

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

Printed on: April 19, 2024 at 01:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Oct 20, 2012 at 13:34:10 (UTC)
Goto Top
moin Riogta,

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
Member: Riogta
Riogta Oct 20, 2012 at 14:49:49 (UTC)
Goto Top
Hi Phil... ich sags wie's iss --> PERFEKT !! face-smile


vielen vielen Dank !!!

ich hab mal bisschen rumgespielt damit... und hab dabei festgestellt, dass man in der Verzeichnisstruktur jeden beliebigen Überordner mit "find" festlegen kann. --> echt Klasse

nur mit Unterordnern geht das nicht kann das sein ? - also dass ich jetzt z.B. meine .txt eine Etage tiefer kopier...
würde mich mal Interresieren

Danke nochmals - mfg Rio
Member: Riogta
Riogta Oct 20, 2012 at 15:07:06 (UTC)
Goto Top
Ok - hab da wohl was verpeilt... jetzt hab ich verstanden, dass er mit "find" in dem Ordner sucht, dem man ihm vorgibt zu suchen face-smile

besser spät als nie face-smile
Member: Riogta
Riogta Oct 20, 2012 at 15:20:30 (UTC)
Goto Top
muss leider wieder zurück Rudern... das ganze klappt nicht...
hab ich oben bisschen blöd in der Ordnerstruktur angegeben :O

es wäre perfekt, wenn der Ordner "Endrohr" immmer der selbe wäre... dann würde das Bild einfach eine Etage höher kopiert werden.

Leider ist auch hier der Ordnername nicht immer der gleiche (z.B. Endrohr 1 - Endrohr 2 Endrohr 3 usw.)
sorry - war schlecht erklärt von mir

evtl. gibts ja noch weitere Lösungen

mfg - Rio
Member: pieh-ejdsch
pieh-ejdsch Oct 20, 2012 at 19:27:57 (UTC)
Goto Top
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
find /?
help
Findstr kann besser Filtern.

Gruß Phil