我正在尝试替换convert.txt中找到的某个字符。现在,convert.txt中找到的每个字符都将替换为文件中的换行符。
我有这段代码:
for /f "delims=" %%s in (convert.txt) do (
Type c:\PETER\%%a | repl.bat "\%%s" "%%s\n" X > c:\PETER\%%a
)
我尝试在此页面上使用replace.bat建议,请参阅here。现在,当我尝试将大文件的字符替换为换行符时,输出不完整。我们对此案有限制吗?
答案 0 :(得分:1)
正如MC ND在评论中所说,你不能同时读写同一个文件。您必须写入新文件,然后使用MOVE替换原始文件。
for /f "delims=" %%s in (convert.txt) do (
type "c:\PETER\%%a" | repl.bat "\%%s" "%%s\n" X > "c:\PETER\%%a.new"
move /y "c:\PETER\%%a.new" "c:\PETER\%%a" >nul
)
无论文件大小如何,MOVE操作几乎是即时的。