如何用批处理替换掉一个文本中的字符串到另一个文本中的字符串?

来源:百度知道 编辑:UC知道 时间:2024/06/21 06:44:57
我己用批处理获得了本机网卡地址在 a.txt 中,另一文本b.txt 中有多处不是本机的网卡地址(但都是相同的),我现在想用批处理实现b.txt中网卡地址的替换(替换为a.txt中的地址-(注:a.txt中只有网卡地址,没其他字符了)),不要说让我用查找替换功能,那个早就知道了,我就想点击一下全搞定!
注:a.txt里面就是网卡址址 如:00-11-22-33-44-55 ,每台电脑都不同,所以不能给出具体的
b.txt里面有很多处如:ab-bc-cd-de-ef-fg 的网卡地址,现在就要把b.txt中所有的“ ab-bc-cd-de-ef-fg ”替换成“00-11-22-33-44-55 ”,ab-bc-cd-de-ef-fg 是定的 ,而 00-11-22-33-44-55 这个是不定的,每台电脑都不同

a.txt 是这样生成的:

@echo off
for /f %%a in ('getmac^|findstr "^00"') do echo %%a >a.txt

用记事本保存为bat文件

@echo off&&setlocal enabledelayedexpansion
if not exist b.txt echo b.txt不在同级目录下。&&pause>nul&&goto :eof
call :delall
for /f "skip=2 delims= " %%i in ('getmac') do set newmac=%%i
for /f "delims=" %%a in (b.txt) do (
set var=%%a
set "var=!var:ab-bc-cd-de-ef-fg=%newmac%!"
>>c.txt echo !var!
)
copy /y c.txt b.txt
:delall
if exist c.txt del c.txt/f/q
goto :eof
rem **************************************
rem 星号上代码另存为xx.bat,和b.txt放在同级目录下
rem MAC地址获取那句我的和你的不一样,你看不合用就改成你自己的吧
rem b.txt做好备份,这个运行之后就替换了

不知道a.txt和b.txt是否在同一个文件夹下面?

把A.TXT 和B.TXT文件发出来,然后要替换成什么样,也发出来...