如何查找和替换字符并应用于大文件

时间:2014-10-17 10:35:46

标签: batch-file command-line cmd batch-processing

我正在尝试替换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。现在,当我尝试将大文件的字符替换为换行符时,输出不完整。我们对此案有限制吗?

1 个答案:

答案 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操作几乎是即时的。