Per Batch Dateien in Ordner mit bestimmter Zahl im Ordnernamen verschieben.
Hallo zusammen, ich bin neu hier im Forum und möchte gerne bei folgendem um Hilfe bitten:
Ich versuche per Batch Dateien von Ordner A nach Ordner B zu verschieben, an sich nichts wildes.
Der Punkt an dem ich scheitere ist, dass die Ordner bis auf die ersten drei Ziffern unterschiedliche Namen haben.
Man kann sich das so vorstellen:
Quelle:
pfad\temp\100 AABB ABBC CDE
pfad\temp\101 ADABB ADBBC CDE
pfad\temp\109 DAABB ABBC CDE
Ziel:
pfad\ablage\100 ABB ABD
pfad\ablage\101 ADAD BBC CDE
pfad\ablage\109 DB ABBC CDE
Nun soll mein Batch die Verzeichnisse durchlaufen und, falls ein Ordner im Zielverzeichnis die gleiche Zahl zu Beginn des Verzeichnisnamen hat (Im Beispiel "100"), die im Quellverzeichnis enthaltenen Dateien dorthin kopieren.
Wie schaffe ich es, die folgende Zeile (die so far die Ordner ausliest, allerdings den Zielordner nicht "findet") so zu erweitern, dass lediglich die ersten drei Ziffern geprüft werden?
Das "echo" wird produktiv durch den kopier-Befehl ersetzt werden. ;)
Vielen Dank für eure Tipps!
Ich versuche per Batch Dateien von Ordner A nach Ordner B zu verschieben, an sich nichts wildes.
Der Punkt an dem ich scheitere ist, dass die Ordner bis auf die ersten drei Ziffern unterschiedliche Namen haben.
Man kann sich das so vorstellen:
Quelle:
pfad\temp\100 AABB ABBC CDE
pfad\temp\101 ADABB ADBBC CDE
pfad\temp\109 DAABB ABBC CDE
Ziel:
pfad\ablage\100 ABB ABD
pfad\ablage\101 ADAD BBC CDE
pfad\ablage\109 DB ABBC CDE
Nun soll mein Batch die Verzeichnisse durchlaufen und, falls ein Ordner im Zielverzeichnis die gleiche Zahl zu Beginn des Verzeichnisnamen hat (Im Beispiel "100"), die im Quellverzeichnis enthaltenen Dateien dorthin kopieren.
Wie schaffe ich es, die folgende Zeile (die so far die Ordner ausliest, allerdings den Zielordner nicht "findet") so zu erweitern, dass lediglich die ersten drei Ziffern geprüft werden?
for /f %%a in ('dir temp\ /b /AD ') do (if exist "ablage\%%a" echo "temp\%%a" "ablage\%%a\")
Vielen Dank für eure Tipps!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 236241
Url: https://administrator.de/forum/per-batch-dateien-in-ordner-mit-bestimmter-zahl-im-ordnernamen-verschieben-236241.html
Ausgedruckt am: 10.04.2025 um 15:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo fidelio, Willkommen im Forum.
könnte so aussehen:
Der Copy-Befehl ist noch nicht scharf geschaltet. Wenn es wie gewünscht funktioniert das echo vor dem Copy-Befehl entfernen
Grüße Uwe
könnte so aussehen:
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "quelle=c:\quelle"
set "ziel=c:\ziel"
for /f "delims=" %%a in ('dir /B /AD "%quelle%"') DO @(
set "folder=%%a"
set num=!folder:~0,3!
for /f "delims=" %%b in ('dir /B /AD "%ziel%\!num!*" 2^>nul') DO @(
echo copy "%quelle%\!folder!\*.*" "%ziel%\%%b"
)
)
Grüße Uwe
ach sorry...habs korrigiert