42583
Goto Top

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.

Content-Key: 50408

Url: https://administrator.de/contentid/50408

Printed on: April 19, 2024 at 02:04 o'clock

Member: Biber
Biber Feb 01, 2007 at 10:55:53 (UTC)
Goto Top
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
Mitglied: 42583
42583 Feb 01, 2007 at 11:17:29 (UTC)
Goto Top
vielen Dank, es scheint zu funktionieren. Dummer Fehler von mir, aber dass man hinter dem Punkt trotzdem einen frei lassen muss war mir neu. Nochmals vielen Dank.