Board logo

标题: dos批处理命令如何批量替换文件中的内容 [打印本页]

作者: cxfaa     时间: 2007-3-9 21:58    标题: dos批处理命令如何批量替换文件中的内容

请高手指点,批处理命令用什么办法可以批量修改替换文本文件中的内容。
假设文本文件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“
作者: vkill     时间: 2007-3-9 23:52
我推荐用 sed 解决
作者: lxmxn     时间: 2007-3-10 00:03
  对于我等不会用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

作者: llztt     时间: 2007-3-10 03:24
为什么不看清人家的标题,人家说是DOS下...
作者: Climbing     时间: 2007-3-10 06:45
楼主说的DOS实际上是CMD。

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

剩下的用for命令就比较好处理了。