DOS Skript - Leerzeichen im Dateiname (wird nicht gefunden)
Hallo.
Leider komme ich nicht weiter, und hoffe das vielleicht jemand einen Tipp hat.
Das Problem ist, dass zwar der Dateiname umbenannt wird, aber besteht dieser mit einem Leerzeichen funktioniert es nicht mehr.
Beispiel: "dasistdiedatei.abc.txt"
Neu: "dasistdiedatei.txt"
Das funktioniert.
Anderes Beispiel:
Beispiel: "geht nicht.abc.txt"
Neu: Eine Umbenennung erfolgt nicht!
Das Skript:
Die Dateien werden per drag & drop geändert:
:next
if "%~1" == "" goto done
Setlocal enabledelayedexpansion
Set "vorher=.abc.txt"
Set "nachher=.txt"
for %%# in ("%~1") do (
set "datei=%%~nx#"
rename "%%#" "!datei:%vorher%=%nachher%!"
)
shift
goto next
:done
exit
Danke für eine Hilfestellung.
Leider komme ich nicht weiter, und hoffe das vielleicht jemand einen Tipp hat.
Das Problem ist, dass zwar der Dateiname umbenannt wird, aber besteht dieser mit einem Leerzeichen funktioniert es nicht mehr.
Beispiel: "dasistdiedatei.abc.txt"
Neu: "dasistdiedatei.txt"
Das funktioniert.
Anderes Beispiel:
Beispiel: "geht nicht.abc.txt"
Neu: Eine Umbenennung erfolgt nicht!
Das Skript:
Die Dateien werden per drag & drop geändert:
:next
if "%~1" == "" goto done
Setlocal enabledelayedexpansion
Set "vorher=.abc.txt"
Set "nachher=.txt"
for %%# in ("%~1") do (
set "datei=%%~nx#"
rename "%%#" "!datei:%vorher%=%nachher%!"
)
shift
goto next
:done
exit
Danke für eine Hilfestellung.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 569022
Url: https://administrator.de/contentid/569022
Ausgedruckt am: 19.12.2024 um 15:12 Uhr
2 Kommentare
Neuester Kommentar
Zuviele Anführunsstichen. Wenn eine datei ein Leerzeichen hat und du sie zum batch ziehst fügt windows automatisch Anführungsstrichen hinzu in %~1 und du hängst dann nochmal extra Anführungstrichen hinzu. Ergebniss:
rename ""%userprofile%\desktop\geht nicht.abc.txt"" "geht nicht.txt"
Also einfach diese linie:
rename "%%#" "!datei:%vorher%=%nachher%!"
So ändern:
rename %%# "!datei:%vorher%=%nachher%!"
rename ""%userprofile%\desktop\geht nicht.abc.txt"" "geht nicht.txt"
Also einfach diese linie:
rename "%%#" "!datei:%vorher%=%nachher%!"
So ändern:
rename %%# "!datei:%vorher%=%nachher%!"