diwaffm
Goto Top

Pluszeichen in Dateinamen finden und ersetzen

Hi Leute,

ich habe ein Problem mit der Anzeige von Dateien durch den IIS
Deshalb würde ich gerne ein Verzeichnis durchsuchen und alle Dateinamen, in denen ein Plus vorkommt (z.B. "Fritz + Willi.jpg") ändern - z.B. in "Fritz_Willi.jpg")

LEider gelingt es mir nicht, auf dem Windows Server 2008 auch nur nach den Dateien zu suchen...
Geschweige denn die Dateinamen zu ändern...

Ciao

dirk


[Edit Biber] Link korrigiert, wurde nicht aufgelöst [/Edit]
Kommentar vom Moderator Biber am Dec 22, 2009 um 19:31:57 Uhr
Beitrag verschoben von "Windows" nach "Batch & Shell".

Content-Key: 132168

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

Printed on: April 25, 2024 at 13:04 o'clock

Member: Biber
Biber Dec 22, 2009 at 19:24:46 (UTC)
Goto Top
Moin diwaffm,

versuche es so (Proof of concept am CMD-Prompt, ">" nicht mit eingeben, ist mein Prompt):
(=20:16:40  D:\temp=)
>echo x>"e:\schnipsel\Fritz + Willi.jpg"  

(=20:16:51  D:\temp=)
>for %i in ("e:\schnipsel\*+*.*") do @set "x=%~nxi" & @echo ren "%i" "!x: + =_!"  
ren "e:\schnipsel\Fritz + Willi.jpg" "Fritz_Willi.jpg"  

Im Batch (falls einer nötig sein sollte:
@echo off & Setlocal EnableDelayedExpansion
for %%i in ("e:\schnipsel\*+*.*") do (  
   set "x=%%~nxi"   
   echo ren "%%i" "!x: + =_!"  
)
-bzw ohne Delayed Expansion-
@echo off & Setlocal
for %%i in ("e:\schnipsel\*+*.*") do  set "x=%%~nxi" & call :RenameOneFile "%%i"  
goto :eof
~~~ Raum für Notizen

:RenameOneFile
   echo ren %1  "%x: + =_%"  
goto :eof
in allen Fällen erstmal ein "echo ren" statt "ren" zum Testen.

Grüße
Biber

[Edit] Schlamperfehler im zweiten Batch korrigiert, siehe rubbermans Kommentar unten. Thx @rubberman. [/Edit]
Member: diwaffm
diwaffm Dec 22, 2009 at 21:55:57 (UTC)
Goto Top
Sieht interessant aus.
Muss ich mir mal in aller Ruhe anschauen.

Hilfe habe ich inzwischen mit dem Tool "Bulk Rename Utility" (http://www.heise.de/software/download/bulk_rename_utility/25762) gefunden.

Eine Selbstprogrammierlösung hatte ich nicht angedacht - obwohl das auch seine Charme hätte - deshalb hatte ich das ganze auch ursprünglich unter "Windows" abgelegt.

MErci

dirk
Member: rubberman
rubberman Dec 22, 2009 at 21:58:14 (UTC)
Goto Top
@Biber

rück mal den letzten Batch gerade:

- Doppelpunkt hinter call vor RenameOneFile
- ! zu %
- die letzte ")" weg oder zu "goto :eof"

Grüße
rubberman