当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 批处理中实现替换文本内容

DOS/BAT
Compact 显示和更改 NTFS 分区上的文件或目录压缩
Del (erase) 删除指定文件
Convert 将 FAT 和 FAT32 卷转换为 NTFS
copy 将一个或多个文件从一个位置复制到其他位置
Country使 MS-DOS 子系统能使用国际时间、日期、货币、大小写转换和小数分隔符
format命令 参数说明
Xcopy 复制文件和目录,包括子目录。
一个命令行(批处理)延迟执行命令的语法
收集21个DOS常用命令
dos、bat批处理延时执行命令的两种方法
CMD下建立虚拟目录的方法
关于批处理中FOR语句的使用说明与学习技巧
以后经常需要知道CMD/DOS下符号的作用参考,正好发现了这篇
由一段批处理程序所引起的探讨感觉问题是有,不太准确
用bat和 reg实现关闭局域网共享
开通局域网共享(访问本机无需验证即可进入的bat和注册表文件
开通局域网共享(访问本机要填用户名和密码)的注册表和批处理
用注册表实现(仅供备用)硬盘各分区的默认共享:关闭
判断U盘已插入并自动COPY所有内容的批处理-U盘自动复制
用批处理列出所有开机启动项的命令

DOS/BAT 中的 批处理中实现替换文本内容


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 310 ::
收藏到网摘: n/a

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