我想用另一個字符串批量替換字符串中的一部分。但我不知道這個字符串會是什麼。所以我想用這個變量:用批量變量替換字符串
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
我在閱讀基本的CSV文件。在函數addId中,行「call set result =%string:!id!=; HELLO;%」不起作用。字符串仍然是相同的。我怎樣才能解決這個問題 ?
你爲什麼FOR變量設置爲id變量?沒有必要這樣做。你應該可以這樣做:'set result =!string:; %% a; =; HELLO;!' – Squashman
呃,那是因爲它沒有工作,所以我嘗試了一些東西! –
它確實有效。再試一次。 – Squashman