Ich möchte einen Teil einer Zeichenfolge im Stapel durch eine andere Zeichenfolge ersetzen. Aber ich weiß nicht, was diese Saite sein wird. Also würde ich gerne eine Variable dafür verwenden:String ersetzen durch Variable im Batch
for /r %%i in (\file\tmp\*) do (
call :createJob %%i
)
goto :eof
:createJob
SETLOCAL
set filename=%1
for /F "delims=" %%i in (%filename%) do (
set "line=%%i"
)
call :addId "%line%"
ENDLOCAL
goto :eof
:addId
@setlocal enableextensions enabledelayedexpansion
set string=%~1
set /A "i=0"
echo %string%
for %%a in (%string%) do (
if !i! EQU 1 (
set id=;%%a;
call set result=%string:!id!=;HELLO;%
)
echo %%a
set /A "i+=1"
)
echo %result%
ENDLOCAL
goto :eof
:eof
Ich lese Grundlagen CSV-Dateien. In der Funktion addId funktioniert die Zeile "Aufrufmenge result =% string:! Id! =; HELLO;%" nicht. Die Saite ist immer noch dieselbe. Wie kann ich das beheben?
Warum sind Sie die FOR-Variable auf die ID variable Einstellung? Das ist nicht nötig. Das solltest du tun können: 'set result =! String:; %% a; =; HALLO;!' – Squashman
Nun, es war, weil es nicht funktionierte, also habe ich ein paar Dinge ausprobiert! –
Es funktioniert. Versuche es noch einmal. – Squashman