中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 17:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » dos批处理命令如何批量替换文件中的内容 查看 1,378 回复 4
楼 主 dos批处理命令如何批量替换文件中的内容 发表于 2007-03-09 21:58 ·  中国 福建 南平 中移铁通
初级用户
积分 64
发帖 23
注册 2007-01-16 05:01
19年会员
UID 76643
性别 男
状态 离线
请高手指点,批处理命令用什么办法可以批量修改替换文本文件中的内容。
假设文本文件my.txt中有内容如下:
WindowsXP-KB922760-x86-CHS.exe
WindowsXP-KB920214-x86-CHS.exe
WindowsXP-KB918899-x86-CHS.exe
WindowsXP-KB921883-x86-CHS.exe
WindowsXP-KB911567-x86-CHS.exe
WindowsXP-KB899589-x86-CHS.exe
WindowsXP-KB890046-x86-CHS.exe
WindowsXP-KB929969-x86-CHS.exe
install_a.bat
请问用什么批命令可以把文本中的“WindowsXP-”全部替换成
“start /wait WindowsXP-”
并用什么方法可以删除最后一行的内容“install_a.bat“
2 发表于 2007-03-09 23:52 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
我推荐用 sed 解决
3 发表于 2007-03-10 00:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
  对于我等不会用sed而只会一点批处理的人来说,只能用批来解决它了:
@echo off&(for /f "delims=" %%a in ('findstr /v "install_a.bat" my.txt') do (
>>new.txt echo start /w %%a
))&pause&notepad new.txt&exit/b0
4 发表于 2007-03-10 03:24 ·  中国 河南 开封 教育网
中级用户
积分 204
发帖 44
注册 2003-08-08 00:00
22年会员
UID 8224
性别 男
状态 离线
为什么不看清人家的标题,人家说是DOS下...
5 发表于 2007-03-10 06:45 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
楼主说的DOS实际上是CMD。

其实这个文本文件肯定是用dir /b生成的,如果在dir /b时加一个参数例如:dir /b *.exe > my.txt就可以避免在文本文件中出现那个bat文件了。

剩下的用for命令就比较好处理了。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
论坛跳转: