Batch - Dateien mehrer Ordner kopieren in jeweilige Unterordner
Hallo zusammen,
folgendes Vorhaben möchte ich durchführen. Ich denke, mit einem cmd Befehl bzw. einer *.bat Datei sollte das durchzuführen sein.
In dem Ordner /Artikel/ sind ganz viele Unterordner mit der Artikelnummer als Name
/Artikel/12340078/
/Artikel/12340079/
/Artikel/43210128/
usw.
in den jeweiligen Artikelordner sind Bilder *.jpg hinterlegt den nun in ein jeweiligen Unterordner verschoben werden sollen.
Bsp.
/Artikel/12340078/1.jpg
/Artikel/12340078/2.jpg
→ kopieren in /Artikel/12340078/WebShop/
dass soll das Skript Artikel-Ordner für Artikel-Ordner machen. (> 1.000 Ordner)
Einzelne Dateien aus Ordner X in Y kopieren bekomme ich hin, aber wie bekomme ich die Variable der unterschiedlichen Ordnernamen hin?
Vielen Dank vorweg!
folgendes Vorhaben möchte ich durchführen. Ich denke, mit einem cmd Befehl bzw. einer *.bat Datei sollte das durchzuführen sein.
In dem Ordner /Artikel/ sind ganz viele Unterordner mit der Artikelnummer als Name
/Artikel/12340078/
/Artikel/12340079/
/Artikel/43210128/
usw.
in den jeweiligen Artikelordner sind Bilder *.jpg hinterlegt den nun in ein jeweiligen Unterordner verschoben werden sollen.
Bsp.
/Artikel/12340078/1.jpg
/Artikel/12340078/2.jpg
→ kopieren in /Artikel/12340078/WebShop/
dass soll das Skript Artikel-Ordner für Artikel-Ordner machen. (> 1.000 Ordner)
Einzelne Dateien aus Ordner X in Y kopieren bekomme ich hin, aber wie bekomme ich die Variable der unterschiedlichen Ordnernamen hin?
Vielen Dank vorweg!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 356252
Url: https://administrator.de/forum/batch-dateien-mehrer-ordner-kopieren-in-jeweilige-unterordner-356252.html
Ausgedruckt am: 28.12.2024 um 13:12 Uhr
7 Kommentare
Neuester Kommentar
Hallo mr-neo,
hast Du es so gemeint?
Falls ja, dann teste es erstmal mit einer Kopie des Artikelordners.
Mach Dir noch ein Backup und prüf das Ergebnis möglichst genau.
1. Vorher
2. Skript anpassen und ausführen
Funktionsweise:
Wechsel in den Ordner "Artikel"
Liste alle Verzeichnisnamen auf (ohne deren Unterverzeichnisse)
Gehe diese Liste durch und mache jeweils:
- Unterordner "WebShop" anlegen in
- Alle JPG-Dateien nach Webshop verschieben
- Alle BMP-Dateien nach Webshop verschieben
- Alle PNG-Dateien NICHT nach Webshop verschieben, weil mit REM auskommentiert
3. Nachher
Mach Dir ein Backup und prüf das Ergebnis möglichst genau.
Gruß Frank
hast Du es so gemeint?
Falls ja, dann teste es erstmal mit einer Kopie des Artikelordners.
Mach Dir noch ein Backup und prüf das Ergebnis möglichst genau.
1. Vorher
C:\Temp\Artikel\12340078\1.bmpC:\Temp\Artikel\12340078\1.jpgC:\Temp\Artikel\12340078\2.bmpC:\Temp\Artikel\12340078\2.jpgC:\Temp\Artikel\12340079\3.bmpC:\Temp\Artikel\12340079\3.jpgC:\Temp\Artikel\12340079\4.bmpC:\Temp\Artikel\12340079\4.jpgC:\Temp\Artikel\43210128\5.bmpC:\Temp\Artikel\43210128\5.jpg
2. Skript anpassen und ausführen
@echo off
cd /d "C:\Temp\Artikel"
for /f "tokens=1" %%f in ('dir /ad /b') do (
md "%%f\WebShop"
move "%%f\*.jpg" "%%f\WebShop"
move "%%f\*.bmp" "%%f\WebShop"
move "%%f\*.png" "%%f\WebShop"
)
Funktionsweise:
Wechsel in den Ordner "Artikel"
Liste alle Verzeichnisnamen auf (ohne deren Unterverzeichnisse)
Gehe diese Liste durch und mache jeweils:
- Unterordner "WebShop" anlegen in
- Alle JPG-Dateien nach Webshop verschieben
- Alle BMP-Dateien nach Webshop verschieben
- Alle PNG-Dateien NICHT nach Webshop verschieben, weil mit REM auskommentiert
3. Nachher
C:\Temp\Artikel\12340078\WebShop\1.bmpC:\Temp\Artikel\12340078\WebShop\1.jpgC:\Temp\Artikel\12340078\WebShop\2.bmpC:\Temp\Artikel\12340078\WebShop\2.jpgC:\Temp\Artikel\12340079\WebShop\3.bmpC:\Temp\Artikel\12340079\WebShop\3.jpgC:\Temp\Artikel\12340079\WebShop\4.bmpC:\Temp\Artikel\12340079\WebShop\4.jpgC:\Temp\Artikel\43210128\WebShop\5.bmpC:\Temp\Artikel\43210128\WebShop\5.jpg
Mach Dir ein Backup und prüf das Ergebnis möglichst genau.
Gruß Frank
Hallo BassFishFox,
Wahrscheinlich an der For-Schleife.
Gruß Frank
Wahrscheinlich an der For-Schleife.
Gruß Frank
Hallo BassFishFox,
...in einem anderen Skript.
Das war meinerseits ein Copy-Paste-nicht-korrekt-bereinigt-Fehler.
Quelle: BATCH Variable aus .txt Datei ohne Leerzeichen am Ende
Gruß und Dank
Frank
...in einem anderen Skript.
Das war meinerseits ein Copy-Paste-nicht-korrekt-bereinigt-Fehler.
Quelle: BATCH Variable aus .txt Datei ohne Leerzeichen am Ende
if exist liste.txt del liste.txt
Ich habe die Zeile hier jetzt rausgeworfen.Gruß und Dank
Frank
Hallo mr-neo,
schön, dass es funktioniert und danke für die Rückmeldungen.
"For" kann Datei/Directorylistings durchlaufen, aber auch eine Gruppe von vorgegebenen Werten
oder einen Dateiinhalt zeilenweise oder die Ausgabe von anderen Befehlen.
Wenn es Dich weitergehend interessiert...
Tutorial zur FOR-Schleife
(Dieses Tutorial hat mir meine langjährigen "Berührungsängste" genommen.)
Gruß Frank
schön, dass es funktioniert und danke für die Rückmeldungen.
"For" kann Datei/Directorylistings durchlaufen, aber auch eine Gruppe von vorgegebenen Werten
oder einen Dateiinhalt zeilenweise oder die Ausgabe von anderen Befehlen.
Wenn es Dich weitergehend interessiert...
Tutorial zur FOR-Schleife
(Dieses Tutorial hat mir meine langjährigen "Berührungsängste" genommen.)
Gruß Frank