mehrere Dateien umbenennen per Batch Task
Hallo,
ich weiß, da ist ein sehr oft abgehandeltes Problem, aber mit den Forenbeiträgen komm ich dem Ziel nicht näher.
Folgende Situation:
Von einem FTP Server werden Dateien für eine Spedition per batch geladen und in Ordner verschoben. Die Dateien haben folgende Namen: 2049.txt, 3020.txt. Die Dateinamen sind unbekannt, also nicht schon vorher bekannt. Die ersten 2 Zahlen bedeuten Versender ID und die zweiten beiden Zahlen die Empfänger ID. Da auch ab und zu eine Datei gleichen Namens auftauchen kann, soll diese Datei umbenannt werden in bsp: 31.01.2007-21-55-35-2049.txt
Also im Klartext: "%date% %time"- vorherigername.txt
Wie ich die Notation schreiben muss, damit die Datei diesen Namen erhält weiß ich.
Mein Problem ist viel mehr, dass er den FOR Befehl nur ausführt wenn ich in im cmd manuell eingebe. Wenn ich diesen Befehl in eine Batch schreibe bricht diese ab ohne Fehlermeldung.
Um folgenden vereinfachten Befehl handelt es sich
Diese Batch soll nach dem kopieren vom ftpserver automatisch gestartet werden aus dem Batch heraus. Das Problem ist, wenn ich diese Batch ausführe wechselt er nur die Pfade aber bei der for schleife bricht er einfach ab und schliesst sich. Wenn ich die Befehle nacheinander im cmd eingebe, gehts.
Woran kann das liegen? Brauch dieses Batch eigentlich schon gestern, he he. Aber das ist in der IT-Branche ja immer so.
Kann mir da einer helfen?
ich weiß, da ist ein sehr oft abgehandeltes Problem, aber mit den Forenbeiträgen komm ich dem Ziel nicht näher.
Folgende Situation:
Von einem FTP Server werden Dateien für eine Spedition per batch geladen und in Ordner verschoben. Die Dateien haben folgende Namen: 2049.txt, 3020.txt. Die Dateinamen sind unbekannt, also nicht schon vorher bekannt. Die ersten 2 Zahlen bedeuten Versender ID und die zweiten beiden Zahlen die Empfänger ID. Da auch ab und zu eine Datei gleichen Namens auftauchen kann, soll diese Datei umbenannt werden in bsp: 31.01.2007-21-55-35-2049.txt
Also im Klartext: "%date% %time"- vorherigername.txt
Wie ich die Notation schreiben muss, damit die Datei diesen Namen erhält weiß ich.
Mein Problem ist viel mehr, dass er den FOR Befehl nur ausführt wenn ich in im cmd manuell eingebe. Wenn ich diesen Befehl in eine Batch schreibe bricht diese ab ohne Fehlermeldung.
Um folgenden vereinfachten Befehl handelt es sich
cd\
d:
cd d:\import\5
FOR %I IN (*.txt) DO ren %I "%date% %time% "- %~nI
Diese Batch soll nach dem kopieren vom ftpserver automatisch gestartet werden aus dem Batch heraus. Das Problem ist, wenn ich diese Batch ausführe wechselt er nur die Pfade aber bei der for schleife bricht er einfach ab und schliesst sich. Wenn ich die Befehle nacheinander im cmd eingebe, gehts.
Woran kann das liegen? Brauch dieses Batch eigentlich schon gestern, he he. Aber das ist in der IT-Branche ja immer so.
Kann mir da einer helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 50374
Url: https://administrator.de/forum/mehrere-dateien-umbenennen-per-batch-task-50374.html
Ausgedruckt am: 09.04.2025 um 09:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo bm-the duke und willkommen im Forum!
Wenn die grundsätzliche Funktionalität unverändert bleiben kann (insbesondere %time% ein brauchbares Ergebnis ohne ":" liefert), würde ein Batch etwa so aussehen:
Entscheidend sind die doppelten Prozentzeichen vor der Schleifenvariable.
HTH
bastla
Wenn die grundsätzliche Funktionalität unverändert bleiben kann (insbesondere %time% ein brauchbares Ergebnis ohne ":" liefert), würde ein Batch etwa so aussehen:
cd /d d:\import\5
FOR %%I IN (*.txt) DO ren "%%I" "%date%-%time%-%%~nxI"
HTH
bastla