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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 569022
Url: https://administrator.de/contentid/569022
Printed on: April 20, 2024 at 02:04 o'clock
2 Comments
Latest comment
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%!"