bslux 10 Geschrieben 29. März 2007 Melden Teilen Geschrieben 29. März 2007 Guten Tag, ich möchte einige hundert Dateien mit dem CMD Befehl RENAME umbenennen. Die Dateien sehen z.B. so aus: aaaaaa-bbb-cc-1.txt Nun möchte ich den Bindestrich und die Ziffer direkt vor dem Punkt mit der Eingabe ren *-1.txt *.txt entfernen was RENAME jedoch ignoriert. Der COPY Befehl meldet mir '...kann eine Datei nicht in sich selbst kopieren'. Beim kopieren in ein anderes Verzeichnis bleiben die Zeichen auch erhalten. Die Dateien sollen dann so aussehen: aaaaaa-bbb-cc.txt Was mache ich falsch? Leider kann ich nur Windows Bordmittel verwenden. Bernd Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 30. März 2007 Melden Teilen Geschrieben 30. März 2007 Der Stern funktioniert da so nicht. Wenn die Anzahl Zeichen immer gleich ist, könntest Du folgendes machen: ren ???????????-1.txt ???????????.txt Zitieren Link zu diesem Kommentar
bslux 10 Geschrieben 30. März 2007 Autor Melden Teilen Geschrieben 30. März 2007 Hallo und Danke für den Tipp, ich habe Dateinamen von 8-16stellig vor dem -1.txt. Da ich zusätzlich von -1.txt bis -9.txt habe kann ich ja mit dem längsten Dateinamen anfangen und -(Ziffer).txt durch -*.txt ersetzen. Dann müßte ich den RENAME Befehl nur 9mal wiederholen und jedes mal ein ? auf beiden Seiten entfernen. Nochmals Danke Zitieren Link zu diesem Kommentar
Itchy 10 Geschrieben 30. März 2007 Melden Teilen Geschrieben 30. März 2007 Habe ich das richtig verstanden, deine Dateien sollen alle den gleichen Namen haben!? Warum ? Zitieren Link zu diesem Kommentar
bslux 10 Geschrieben 30. März 2007 Autor Melden Teilen Geschrieben 30. März 2007 Nein, natürlich nicht. Die Dateien haben alle einmalige Namen wobei das Format nach dem Punkt immer gleich ist. Direkt vor dem Punkt ist immer ein Bindestrich gefolgt von einer Ziffer und ich benötige nun alle Dateien ohne diesen Bindestrich und Ziffer. Es sind halt ein paar hundert Dateien die ich nicht einzeln umbenennen will. Notfalls kan man das machen aber einfach kann ja jeder :D Zitieren Link zu diesem Kommentar
Itchy 10 Geschrieben 30. März 2007 Melden Teilen Geschrieben 30. März 2007 Hi! Die folgende Batch Datei sollte dir weiter helfen. @echo off for %%a in (*.txt) do set filename=%%a & echo %%a > source.log & call :sub goto end :sub for /f "delims=- tokens=1,2,3" %%b in (source.log) do set filename1=%%b-%%c-%%d.txt ren %filename% %filename1% goto :eof :end pause exit Probiers mal aus, und melde dich dann CU Itchy Zitieren Link zu diesem Kommentar
Itchy 10 Geschrieben 1. April 2007 Melden Teilen Geschrieben 1. April 2007 bslux? Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 2. April 2007 Melden Teilen Geschrieben 2. April 2007 Etwas kürzer ginge es so vom CMD-Prompt (Demo): (=18:29:53 D:\temp=) >for %i in (*.tst) do @for /f "tokens=1-3 delims=-" %j in ("%i") do @echo rename "%i" "%j-%k-%l%~xi" rename "aaaa-bbb-ccc-1.tst" "aaaa-bbb-ccc.tst" rename "azzzzzzaaa-fff-ddd-9.tst" "azzzzzzaaa-fff-ddd.tst" rename "mit leer azzzzzzaaa-fff-ddd-9.tst" "mit leer azzzzzzaaa-fff-ddd.tst" Gruss Biber Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.