批处理中实现替换文本内容

时间:2021-05-22

首先:
注册表添加一个或两个REG_DWORD值:
HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\EnableExtensions
或HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\EnableExtensions
设值为1
新建文件aaa.bat:
@echooff
setf=c:\aaa.txt
setf2="c:\aaa.bak.txt"
for/?>%f%
ifexist%f2%del%f2%
for/f"tokens=*delims=%"%%lin(%f%)do(
setline=%%l
setline=!line:FOR=F_O_R!
echo!line!>>%f2%
)
执行aaa.bat
所有的FOR都被替换为F_O_R并写入aaa.bak.txt
缺点:原文件(aaa.txt)空行无法读取
哦,学习
第一次接触批处理中变量的内容替换
setstr=12345
setstr=%str:234=000%
echo%str%
结果10005
固命按fosjos提供的,命令扩展后就可以用批处理来替换文本了
另命令扩展默认是启用的,我们只需将延迟变量环境扩展启用就可以了,另也可以通过命令行实现:
startcmd/v:on/ctest.bat

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章