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

DOS/BAT
Bootcfg 配置、查询或更改 Boot.ini 文件设置
Assoc显示或修改文件名扩展关联
at计划在指定时间和日期在计算机上运行命令和程序
使用 atmadm 来显示 ATM 适配器上传入和传出呼叫的统计信息
Attrib 显示、设置或删除指派给文件或目录的只读、存档、系统以及隐藏属性
可以使用的批处理参数集合
批处理下使用筛选器的函数
Getmac返回计算机中所有网卡的媒体访问控制 (MAC) 地址以及每个地址的网络协议列表
Cacls 显示或修改任意访问控制列表 (DACL) 文件
Call 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页
Chdir (Cd) 显示当前目录的名称,或更改当前的文件夹
Chkntfs 显示或指定在启动计算机时计划的自动系统检查是否在 FAT、FAT32 或者 NTFS 卷上运行。
Cipher 在 NTFS 卷上显示或改变文件的加密
Cls 清除命令提示符窗口
Cmd 启动命令解释器 Cmd.exe 的新实例
Cmstp 安装或删除“连接管理器”服务配置文件
color 对于当前会话,更改命令提示窗口的前景和背景色
配置命令提示符的方法
Comp 逐字节地比较两个文件或几组文件的内容

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 312 ::
收藏到网摘: 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