【问题标题】:How to find and replace a character and apply on a large file如何查找和替换字符并应用于大文件
【发布时间】:2014-10-17 10:35:45
【问题描述】:

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

【问题讨论】:

  • 不能同时读写同一个文件。您需要将输出发送到不同的文件。
  • @MCND 非常感谢您的反馈 :)

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


【解决方案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 操作几乎是瞬时的,无论文件大小如何。

【讨论】:

  • @PeterS 这对你有帮助吗?
  • @foxidrive 我稍后再试试 :) 谢谢大家 :)
猜你喜欢
  • 2012-04-11
  • 2013-07-10
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 2011-05-25
  • 2018-11-10
  • 2017-01-10
相关资源
最近更新 更多