Dateien verschieben in Ordner mit Nummer
Ich suche oder benötige Tipps zum erstellen einer batch oä. um Dateien automatisch zu verschieben
Mein problem:
eine datei namens "c:\aaa\jpg\s_xxxx_zz_beliebiges datum.jpg" soll in ordner c:\aaa\bbb\yyyy und c:\aaa\ccc\yyyy kopiert werden. wobei im dateinamen xxxx eine zahl darstellt von 0-5000, zz Buchstaben sind und der ordener yyyy ein ordner in 100 schritten ist, also 0001-0099, 0100-0199. und so weiter...
eine überprüfung auf vorhandensein der datei ist nötig, die datei soll dann nicht verschoben werden. der ordner existieren schon, bzw sollten neu angelegt werden wenn er nicht existiert. gibt es dafür eine lösung mit wenig aufwand so wie eine batch?
irgendwas mit for / if müsste da doch gehen, wen ich nen zähler im dateinamen laufenlasse und mit copy verschiebe...
mfg sebbso
Mein problem:
eine datei namens "c:\aaa\jpg\s_xxxx_zz_beliebiges datum.jpg" soll in ordner c:\aaa\bbb\yyyy und c:\aaa\ccc\yyyy kopiert werden. wobei im dateinamen xxxx eine zahl darstellt von 0-5000, zz Buchstaben sind und der ordener yyyy ein ordner in 100 schritten ist, also 0001-0099, 0100-0199. und so weiter...
eine überprüfung auf vorhandensein der datei ist nötig, die datei soll dann nicht verschoben werden. der ordner existieren schon, bzw sollten neu angelegt werden wenn er nicht existiert. gibt es dafür eine lösung mit wenig aufwand so wie eine batch?
irgendwas mit for / if müsste da doch gehen, wen ich nen zähler im dateinamen laufenlasse und mit copy verschiebe...
mfg sebbso
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 148847
Url: https://administrator.de/forum/dateien-verschieben-in-ordner-mit-nummer-148847.html
Ausgedruckt am: 11.05.2025 um 05:05 Uhr
3 Kommentare
Neuester Kommentar
Moin sebbso,
willkommen im Forum.
Ich kann es mir nicht nicht vorstellen, dass irgendjemand für dein vergleichsweise exotisches Nischenproblem mal prophylaktisch in einer regnerischen Novemberwoche aus Jux eine Freeware erfunden hat und seitdem sehnsüchtig auf dich als ersten Anwender wartet.
Oder etwas kürzer ausgedrückt: Ich glaube nicht, dass deine Frage hier im Bereich "Tools & Utilities" gelöst werden wird.
Mein Tipp:
Verschiebe den Beitrag nach "Batch & Shell" im Bereich "Entwicklung". Die Mädels da sind eigentlich ganz nett.
Allerdings solltest du denen signalisieren, dass du versucht hast, dich mit dem Problemchen auseinanderzusetzen und beispielsweise eine Versuchszeile mit FOR /F als Ansatz mitliefern.
Wenn du da versuchst, dich mit dem Satz "ich bin nicht mehr so bewandert in sachen programmieren. aus der aktiven Lösungsfindung rauszudrehen, dann gibt es wieder gewisse Randbemerkungen..
Grüße
Biber
willkommen im Forum.
Ich kann es mir nicht nicht vorstellen, dass irgendjemand für dein vergleichsweise exotisches Nischenproblem mal prophylaktisch in einer regnerischen Novemberwoche aus Jux eine Freeware erfunden hat und seitdem sehnsüchtig auf dich als ersten Anwender wartet.
Oder etwas kürzer ausgedrückt: Ich glaube nicht, dass deine Frage hier im Bereich "Tools & Utilities" gelöst werden wird.
Mein Tipp:
Verschiebe den Beitrag nach "Batch & Shell" im Bereich "Entwicklung". Die Mädels da sind eigentlich ganz nett.
Allerdings solltest du denen signalisieren, dass du versucht hast, dich mit dem Problemchen auseinanderzusetzen und beispielsweise eine Versuchszeile mit FOR /F als Ansatz mitliefern.
Wenn du da versuchst, dich mit dem Satz "ich bin nicht mehr so bewandert in sachen programmieren. aus der aktiven Lösungsfindung rauszudrehen, dann gibt es wieder gewisse Randbemerkungen..
Grüße
Biber
moin sebbso,
wenn Du Deinen 1. Ordner nicht "0001-0099" sondern "0000-0099" nennst dann...
versuchs mal damit ungetestet
Gruß Phil
wenn Du Deinen 1. Ordner nicht "0001-0099" sondern "0000-0099" nennst dann...
versuchs mal damit ungetestet
@echo off&setloacal
set OriginalVerzeichnis="C:\aaa\jpg"
set "Kopie1VZ=C:\aaa\bbb"
set "Kopie2VZ=C:\aaa\ccc"
pushD %OriginalVerzeichnis%
for %%a in ("?_????_*.jpg") do (set "File=%%~a"
for /f "tokens=2 delims=_" %%b in ("%%~a") do for /f "delims=0 tokens=*" %%c in ("%%~b") do (set /a Nr=%%c/100+100,Zahl=%%c+10000
setlocal enabledelayedexpansion
if not exist "%Kopie1VZ%\!Nr:~1!00-!Nr:~1!99\" md "%Kopie1VZ%\!Nr:~1!00-!Nr:~1!99\"
if not exist "%Kopie1VZ%\!Nr:~1!00-!Nr:~1!99\!File!" copy "!File!" "%Kopie1VZ%\!Nr:~1!00-!Nr:~1!99\"
if not exist "%Kopie2VZ%\!Nr:~1!00-!Nr:~1!99\" md "%Kopie2VZ%\!Nr:~1!00-!Nr:~1!99\"
if not exist "%Kopie2VZ%\!Nr:~1!00-!Nr:~1!99\!File!" copy "!File!" "%Kopie2VZ%\!Nr:~1!00-!Nr:~1!99\"
endlocal
)
)
popD
Gruß Phil