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]
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]
Please also mark the comments that contributed to the solution of the article
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 20:04 o'clock
3 Comments
Latest comment
Moin diwaffm,
versuche es so (Proof of concept am CMD-Prompt, ">" nicht mit eingeben, ist mein Prompt):
Im Batch (falls einer nötig sein sollte:
-bzw ohne Delayed Expansion-
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]
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: + =_!"
)
@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
Grüße
Biber
[Edit] Schlamperfehler im zweiten Batch korrigiert, siehe rubbermans Kommentar unten. Thx @rubberman. [/Edit]
@Biber
rück mal den letzten Batch gerade:
- Doppelpunkt hinter call vor RenameOneFile
- ! zu %
- die letzte ")" weg oder zu "goto :eof"
Grüße
rubberman
rück mal den letzten Batch gerade:
- Doppelpunkt hinter call vor RenameOneFile
- ! zu %
- die letzte ")" weg oder zu "goto :eof"
Grüße
rubberman