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!
Please also mark the comments that contributed to the solution of the article
Content-Key: 356252
Url: https://administrator.de/contentid/356252
Printed on: April 19, 2024 at 20:04 o'clock
7 Comments
Latest comment
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