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]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 22.12.2009 um 20:31:57 Uhr
Beitrag verschoben von "Windows" nach "Batch & Shell".
Content-ID: 132168
Url: https://administrator.de/forum/pluszeichen-in-dateinamen-finden-und-ersetzen-132168.html
Ausgedruckt am: 09.04.2025 um 23:04 Uhr
3 Kommentare
Neuester Kommentar
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