我想用另一个字符串批量替换字符串的某些部分。但我不知道这根线是什么。所以我想用一个变量:
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:!身份证件!=;hello;%“不起作用。绳子还是一样的。我该怎么解决?
最佳答案
请改为:
call set result=%%string:!id!=;HELLO;%%
或者,测试:
set result=!string:;%%a;=;HELLO;!