Jump to content

RENAME Probleme mit Bindestrichen in Dateinamen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...