Ich versuch mal übersichtlich meinen Senf dazu zu äußern.
miac schrieb:
Versuche vom Command Prompt
ren PLAN_*.* *.*
Damit löst man nur ein Umbenennen auf den bestehenden Dateinamen aus. Kann nicht klappen.
Pümdog schrieb:
Ich habe herum experimentiert, aber habe es nicht hin bekommen.
Da wird es doch wohl ein Befehl geben?
Gibt es. Nur nicht ganz trivial, daher hol ich etwas aus, damit man nicht nur die Lösung bekommt, sondern auch versteht.
nitech schrieb:
sowas z.b.:
for /r %x in (PLAN_.*) do ren "%x" *.*
Kann nicht klappen. Hier steht nirgends die Regel wie die neue Datei auszusehen hat.
miac schrieb:
Ja, der rename Befehl arbeitet leider nicht so, wie man meinen könnte.
Doch tut er. Aber eben nach Maschinenlogik. Ob die auch zur persönlichen Logik passt ist eine andere Frage.
Packe folgenden Code in eine Batch Datei. Speicher diese in deinem Ordner mit den Plan_ Dateien ab, oder passe den dir Befehl aufs Zielverzeichnis an:
Code:
for /F "delims=;" %%i IN ('dir Plan_*.* /b') do (
set Datei=%%i
ren "%%i" "!Datei:~5,100!"
)
- Schleife zum suchen aller Plan_ Dateien
- einzelnes Umbenennen von der Quelldatei zur Zieldatei und ab dem 6. bis zum 100. Zeichen
Beim Ausführen kommt es jetzt zu folgendem Problem: Die Variable Datei wird nicht in der Schleife angepasst da die Anpassung erst am Befehlsende erfolgt. Da es sich nur um 1 Befehl handelt, kann man mit der Schleife nicht mehrere Dateien bearbeiten. Beim Umbenennen bekommt so auch Datei1 einen kaputten Namen. Beim 2.Aufruf bekommt Datei2 den Namen vom ersten Aufruf, also Datei1. usw. Also Datenchaos. Daher muss man mit verzögerten Variablen arbeiten, im Code oben durch ! gekennzeichnet.
Um die Interpretation der Variable zu ändern musst du Befehlsverzögerung der cmd.exe aktivieren. Dazu rufst du mittels Win+r das Ausführen Fenster auf und startest eine neue CMD wie folgt:
cmd /V:ON
In dieser cmd funktioniert die Batch dann.
Durch die Verwendung von ! ist sichergestellt, daß die Batch keine Änderungen durchführt, falls du sie mal ohne Befehlsverzögerung aufrufst. So ein cmd Interpreter kann mit ! dann nichts anfangen. Solltest also vorm Datenchaos geschützt sein.