![]() |
|
|
![]() |
|||||||||||||
![]() |
||||||||||||||||
|
![]() |
#12 |
Registriert seit: 29.03.2004
Beiträge: 2.537
|
Hallo, hab eben eine Lösung ausgetüftelt, die aber nur wohl nur mit W2k mit XP gehen dürfte... (wegen der erweiteren Befehle und Parameter der Kommandozeile).
Den Text aus dem Kasten bitte in eine Datei rendvd.bat kopieren und diese in das übergeordnete Verzeichnis ablegen, in dem alle umzubennenden Verezichnisse enthalten sind, und ausführen. Code:
rem @echo off echo Abbruch jetzt noch möglich mit STRG+C pause del rendvdlist.txt for /r %%i in (.) do echo move "%%~pni" "%%~pni_DVD" >> rendvdlist.txt sort /reverse rendvdlist.txt > rendvdtmp.bat call rendvdtmp.bat del rendvdlist.txt Zuerst werden alle Verzeichnisnamen mit Umbenamsungsbefehl in einer temporären Datei gespeichert. Der Befehl ren funktioniert leider nur mit Dateien, aber nicht mit Verzeichnissen, daher move. Die Anführungszeichen sind notwendig, damit Verzeichnisnamen mit Leerzeichen auch umbenannt werden können (sonst gibts nen Abbruch) Dann wird die Liste umgedreht, damit die tiefer verschachtelten Verzeichnisse zuerst umbenannt werden. Wenn das oberste zuerst umbenannt wird, funktioniert es beim nächst tieferen nämlich nimmer, weil ja der Hauptfad sich gerade eben geändert hat, die Liste aber immer noch den alten Namen verwendet. ![]() Dabei wird die neue Liste gleich in einer BAT-Datei abgespeichert. Zum Schluß wird diese Batchdatei ausgeführt... und alle Verzeichnisse heißen fortan *_DVD. Noch Aufräumen (Temporärdatei entfernen), fertig. Und hier noch ein kleiner Test: Urzustand: Code:
W:. └───Daten ├───Bilder Sonne │ ├───Aufgänge │ └───Untergänge ├───Bilder Urlaub │ ├───Seychellen │ └───Südfrankreich └───Viecher Code:
W:. └───Daten_DVD ├───Bilder Sonne_DVD │ ├───Aufgänge_DVD │ └───Untergänge_DVD ├───Bilder Urlaub_DVD │ ├───Seychellen_DVD │ └───Südfrankreich_DVD └───Viecher_DVD ![]() |
![]() |
![]() |
|
|