42583
Feb 01, 2007, updated at 11:17:29 (UTC)
4351
2
0
Datei umbenennen geht irgendwie nicht, Problem mit Setlocal und Co warscheinlich
Hallo,
ich habe in einer Textdatei (NEWFILES1.txt) diverse (nicht statische) Dateinamen stehen, die ich weiterverarbeiten möchte, davor müssen diese aber umbenannt werden (in der Textdatei). Jede Datei muss im Format "dateiname.xy_" umbeannnt werden, wohlgemerkt im Textfile. Dazu habe ich folgenden Quelltext entwickelt.
setlocal enabledelayedexpansion
set endung=
for /F "tokens=1,2 delims=." %%i in (NEWFILES1.txt) do (
set endung=%%j
echo..!endung:~0,2!_>>STRICHLISTE.txt
)
setlocal disabledelayedexpansion
oder endlocal (beides getestet)
Warum gibt er mir jedesmal !endung:~0,2!_ aus oder garnichts, manchmal sind auch die ! verschwunden aber trotzdem ähnliches Ergebnis. Ich habe auch schon alles probiert, diesen Qulltext mit diversen Anderen verglichen oder das File mit cmd /v:on /k programmname.cmd aufgerufen aber es will einfach nicht wunktionieren. Der andere Qulltext im Batchfile kann keine Ursache sein, habe ihn auch testweise rausgenommen, aber ohne Erfolg.
ich habe in einer Textdatei (NEWFILES1.txt) diverse (nicht statische) Dateinamen stehen, die ich weiterverarbeiten möchte, davor müssen diese aber umbenannt werden (in der Textdatei). Jede Datei muss im Format "dateiname.xy_" umbeannnt werden, wohlgemerkt im Textfile. Dazu habe ich folgenden Quelltext entwickelt.
setlocal enabledelayedexpansion
set endung=
for /F "tokens=1,2 delims=." %%i in (NEWFILES1.txt) do (
set endung=%%j
echo..!endung:~0,2!_>>STRICHLISTE.txt
)
setlocal disabledelayedexpansion
oder endlocal (beides getestet)
Warum gibt er mir jedesmal !endung:~0,2!_ aus oder garnichts, manchmal sind auch die ! verschwunden aber trotzdem ähnliches Ergebnis. Ich habe auch schon alles probiert, diesen Qulltext mit diversen Anderen verglichen oder das File mit cmd /v:on /k programmname.cmd aufgerufen aber es will einfach nicht wunktionieren. Der andere Qulltext im Batchfile kann keine Ursache sein, habe ihn auch testweise rausgenommen, aber ohne Erfolg.
Please also mark the comments that contributed to the solution of the article
Content-Key: 50408
Url: https://administrator.de/contentid/50408
Printed on: April 19, 2024 at 02:04 o'clock
2 Comments
Latest comment
Moin gunnar-hro,
willkommen im Forum.
Du darfst natürlich keinen Punkt direkt nach dem "ECHO" (vor dem Ausrufungszeichen der Delayed-Expanded-Variablen) machen.
GEHT: echo !endung:~0,2!_>>....
GEHT: echo. !endung:~0,2!_>>....
GEHT: echo .!endung:~0,2!_>>....
GEHT IN DIE GRÜTZE: echo.!endung:~0,2!_>>....
GEHT IN DIE GRÜTZE: echo..!endung:~0,2!_>>....
[Bug #3211 im M$-CMD-Interpreter]
Gruss
Biber
willkommen im Forum.
Du darfst natürlich keinen Punkt direkt nach dem "ECHO" (vor dem Ausrufungszeichen der Delayed-Expanded-Variablen) machen.
GEHT: echo !endung:~0,2!_>>....
GEHT: echo. !endung:~0,2!_>>....
GEHT: echo .!endung:~0,2!_>>....
GEHT IN DIE GRÜTZE: echo.!endung:~0,2!_>>....
GEHT IN DIE GRÜTZE: echo..!endung:~0,2!_>>....
[Bug #3211 im M$-CMD-Interpreter]
Gruss
Biber