> 文章列表 > 批处理如何实现指定文件中字符替换成第二文本文件中的指定字符.10

批处理如何实现指定文件中字符替换成第二文本文件中的指定字符.10

批处理如何实现指定文件中字符替换成第二文本文件中的指定字符.10

把B.txt的字符串先赋值变量后,替换相应的关键字

@echo off& setlocal enabledelayedexpansion

for /f \"delims=\" %%1 in (B.txt)do (set /a snow+=1&& set snow!snow!=%%1)

(for /f \"delims=\" %%1 in (A.txt)do echo %%1| findstr \"1234\">nul&& (set /a wind+=1

set wind!wind!=%%1&& call call echo %%%%wind!wind!:1234=%%snow!wind!%%%%%%)|| echo %%1)>wind.txt

======================================================================

楼上的朋友-biatxue 说的是,确实没有考虑到一行有多个1234

在这种情况下替换,批处理比较麻烦,改了个VBS的。

set fso = createobject(\"scripting.filesystemobject\")

set ofrt = fso.opentextfile(\"wind.txt\",8,true)

set ofrd2 = fso.opentextfile(\"B.txt\",1): dim B(9999)

do until ofrd2.atendofstream

i = i + 1: B(i) = ofrd2.readline: loop

set ofrd1 = fso.opentextfile(\"A.txt\",1)

do until ofrd1.atendofstream

snow = ofrd1.readline

if instr(snow,\"1234\") > 0 then

while instr(snow,\"1234\") > 0

k = k + 1: snow = replace(snow,\"1234\",B(k),1,1)

wend: ofrt.writeline snow

else: ofrt.writeline snow

end if: loop