查找并替换两个文档之间的字符串(更多次)

时间:2014-03-23 11:53:24

标签: batch-file

我是编程新手,我想创建.bat脚本,它从new.txt获取第一个字符串并在text.txt中找到它,然后用{{1}中的第二个字符串替换它(此new.txt中有多个完全字符串,因此脚本必须搜索整个文档。)

然后,在搜索整个文档之后,脚本从text.txt第三个字符串中获取,在new.txt中找到它并将其替换为来自text.txt的第四个字符串,然后从{{找到第五个字符串1}}并将其替换为第六个字符串等。

我希望你明白,因为我的英语不好:-)谢谢大家。

以下是我的文档示例,如果有帮助的话:

text.txt:

new.txt

new.txt:

new.txt

1 个答案:

答案 0 :(得分:0)

此处适用,除非行包含!个字符。

这使用名为repl.bat的帮助程序批处理文件 - 从https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

下载

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。

@echo off
set "file=text.txt"
set "line="
setlocal EnableDelayedExpansion
for /f "delims=" %%a in (new.txt) do (
   if not defined line set "line=%%a"
      if not "!line!"=="%%a" (
         type "%file%" |repl "!line!" "%%a" L >temp.txt
         move temp.txt "%file%" >nul
         set "line="
      )
)