我正在处理从文件“A.txt”读取的字符串/行并将其写入新文件“B.txt”
如果该行包含'&',则在文件A中字符串替换不起作用。
**for /f "tokens=*" %%a in ('type "%%F"') do (
set str=%%a
set filename=abc
set findStr=!filename!.
echo !findStr!
set replaceStr=folder1\!filename!\!filename!.
echo !replaceStr!
call set str=%%str:!findStr!=!replaceStr!%%**
)
这里有没有'&'的行字符串替换工作完美。只有当行包含特殊字符时,它才会起作用。
请帮助我理解这个问题。
请注意,这不是完整的脚本。
答案 0 :(得分:1)
尝试此操作(假设您已启用延迟扩展):
(for /f "delims=" %%a in (C:\path\to\A.txt) do (
set "str=%%a"
set "filename=abc"
set "srch=!filename!."
>&3 echo !srch!
set "repl=folder1\!filename!\!filename!."
>&3 echo !repl!
call set "str=%%str:!srch!=!repl!%%"
echo !str!
)) > C:\path\to\B.txt