bat替换文件内容

@echo off & setlocal enabledelayedexpansion

@REM 需要被替换的字符串,注意字符串前后不加“”,支持空格
set var1=654321
@REM 替换成什么内容,此处是批处理当前路径
set var2=123456

for /r %%i in (*.txt) do (
    echo %%i
    @REM 读取a.txt所有内容 
    for /f "eol=* tokens=*" %%j in (%%i) do ( 
        @REM 设置变量a为每行内容 
        set a=%%j 
        @REM 如果该行有var1,则将其改为var2
        set "a=!a:%var1%=%var2%!" 
        echo !a!
        @REM 把修改后的全部行存入$ 
        echo !a!>>$
    ) 
    @REM 用$的内容替换原来a.txt内容 
    move $ %%i
)

pause 

 

posted @ 2022-08-17 17:06  KeepSmiling_me  阅读(2821)  评论(0)    收藏  举报