bat文件修改或替换文件内容

您所在的位置:网站首页 如何用bat批量修改文件名称和内容 bat文件修改或替换文件内容

bat文件修改或替换文件内容

#bat文件修改或替换文件内容| 来源: 网络整理| 查看: 265

rem 定义变量延迟环境,关闭回显 

@echo off&setlocal enabledelayedexpansion 

rem 读取a.txt所有内容 

for /f "eol=* tokens=*" %%i in (a.txt) do ( 

rem 设置变量a为每行内容 

set a=%%i 

rem 如果该行有123,则将其改为456 

set "a=!a:123=456!" 

rem 把修改后的全部行存入$ 

echo !a!>>$) 

rem 用$的内容替换原来a.txt内容 

move $ a.txt

 

 ​

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

查找固定的内容并替换的为固定文本的情况:

文件A.txt是需要替换的文件,运行下面这个批处理:

@echo off&setlocal EnableDelayedExpansionfor /f "delims=" %%b in ('type A.txt') do (set "str=%%b"&set "str=!baistr:ABC=123!"&set "str=!str:XYZ=AFK!"echo !str! >>new_A.txt)start new_A.txt

 

下面这个是不去空行的,有必要你就用吧,有点长!你复制过去删除多余空格,不行留邮箱发给你。百度老是存在这个问题,贴出来再复制回去格式就不一样了。真气人!!!

@echo off&setlocal EnableDelayedExpansionfor /f "delims=" %%a in ('findstr /n .* A.txt') do (set "str=%%a"set "str=!str:ABC=123!"set "str=!str:XYZ=AFK!"echo !str:~1! >>tmp.txt)for /f "delims=" %%b in ('type tmp.txt') do (set "str=%%b"if "!str!"==": " (call echo. >>new_A.txt) else (echo !str:~1! >>new_A.txt))del tmp.txt&start new_A.txt

 ​

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

根据上面的参考,自己稍微修改点,可以适用于自己的需求的程序

 自己联系和测试程序

bat文件修改或替换文件内容_测试程序bat文件修改或替换文件内容_批处理_02

rem 定义变量延迟环境,关闭回显 @echo offsetlocal enabledelayedexpansion ::goto :aa::goto :bb2goto :ccrem 读取a.txt所有内容 for /f "eol=* tokens=*" %%i in ('type test.txt') do ( rem 设置变量a为每行内容 set a=%%irem 如果该行有123,则将其改为456 echo !a!--set "a=!a:dd*=456!"rem 把修改后的全部行存入$ echo !a!>>$)rem 用$的内容替换原来a.txt内容 move $ test.txtgoto :eof:aafor %%i in (test.txt) do set file=%%~fiecho ==========for /f "delims=" %%i in ('type test.txt') do (set str=%%iset "str=!str:dd=456!"echo !str!>>$)move $ test.txtgoto :eof:bb1set old=for /f "delims=" %%a in ('findstr .* test.txt') do (set "str=%%a"set "str=!str:ABC=123!"set "str=!str:XYZ=AFK!"echo !str!)goto :eof:bb2set old=rem 查找并匹配最后一行,包含king的字符串for /f "eol=*" %%a in ('findstr /b "king" test.txt') do (set "old=%%a")echo %old%===============rem 再次查找完全陪陪的行,并替换queen的字符串for /f "delims=" %%b in ('type test.txt') do (set "str=%%b"if "!str!"=="%old%" (set str=queen[00-11-22])echo !str!>>$)move $ test.txtgoto :eof:ccset aa=kjk dfdasf jlksj ij hgn my name AAset bb=myecho.%aa% | findstr /C:"%bb%"goto :eof

View Code

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3