gischi
Goto Top

Dateien umbenennen und gleichzeitig vorhandene überschreiben

Hallo!

Es geht um folgendes Problem:

Ich habe in vielen Ordnern und Unterordnern Dateien mit unterschiedlichen Namen nach folgendem Muster:

(123) Test.xls
Test.xls
(123) Irgendwas.doc
Irgendwas.doc

usw.

Nun möchte ich bei den Dateien, die mit (123) beginnen, das (123) entfernen, den Rest des Namen aber beibehalten. (Hinweis: Die Dateien, wie z.B. (123) Test.xls und Test.xls befinden sich im selben Verzeichnis.)

Dies führt natürlich zu einer Namenskolission (gleicher Dateiname). Die lässt Windows bzw. kein mir bekanntes Rename-Tool zu. Ich aber will per Umbenennen (in dem Fall das Entfernen von (123) ) die bereits vorhandenen Dateien überschreiben; und das - sofern möglich - auf einem kompletten Laufwerk mit x Unterordnern.

Ein anderer Name für dies Dateien ist nicht möglich, da es sich um die gleichen Dateien handelt, die mit (123) am Beginn allerdings optimierte Dateien sind und diese die "alten" Dateien ersetzen sollen (teilweise sind auch Verknüpfungen auf und von den Dateien vorhanden). Ein manuelles Durchsuchen der Ordner und ein manuelles Umbenennen und Löschen der jeweiligen Dateien ist nicht möglich, da der Zeitaufwand hierfür enorm wäre (es handelt sich um ein paar hundert Ordner mit ein paar tausend Dateien).

Nun meine Frage: Gibt es eine Software, die dies bewerkstelligt (also Umbenennen und bei Namenskolissionen gleichzeitiges Überschreiben ohne Nachfrage) oder kann man das über eine Batch-Datei lösen?

Ich hoffe, ich habe mein Anliegen verständlich gemacht und würde mich freuen, wenn jemand eine Lösung kennt.

Christian

Edit: Da suche ich tagelang und kaum poste ich hier eine Frage, schon finde ich ein Tool, das mir diese Arbeit abnimmt (noch dazu Freeware).

Der Flexible Renamer von Naru ist ein Rename-Tool, welches bei Namenskonflikten nachfragt was er tun soll und auch Dateien in Unterordnern berücksichtigt, also genau das was ich brauche.

Content-Key: 107366

Url: https://administrator.de/contentid/107366

Printed on: April 19, 2024 at 23:04 o'clock

Member: bastla
bastla Jan 28, 2009 at 12:58:52 (UTC)
Goto Top
Hallo Gischi!

Nur als Ergänzung:
Der folgende Batch fragt noch nicht mal nach face-wink, sondern benennt gleich um (allerdings erst, wenn das "echo" in Zeile 5 entfernt ist - bis dahin wird der entsprechende Befehl - zum Testen - nur angezeigt) ...

@echo off & setlocal enabledelayedexpansion

for /f "delims=" %%i in ('dir /s /b /a-d "D:\Startpfad\(123)*.xls"') do (  
    set "Datei=%%~nxi"  
    echo move "%%i" "%%~dpi!Datei:~5!"  
)
Noch ein Hinweis: Sollte es Datei- oder Pfadnamen mit enthaltenen "!" geben, müsste die Schreibweise des Batches etwas abgeändert werden.

Grüße
bastla
Member: Gischi
Gischi Jan 28, 2009 at 14:28:16 (UTC)
Goto Top
Hallo bastla!

Danke für Deinen Batch, der sehr interessant aussieht. Bei Gelegenheit werde ich ihn sicherlich testen (ist schon unter "Testen" abgespeichert face-smile).

Der Flexible Renamer fragt glücklicherweise nicht bei jeder Datei mit Namenskonflikten nach, sondern man kann auch definieren, dass er alle überschreiben soll. Dies ebenfalls noch als Ergänzung, falls mein o.a. Beschreibung falsch verstanden worden sein sollte.

Nochmals danke für Deinen Batch!

LG
Gischi