就如何用批处理命令删除某个文件夹下所有TXT文件中两个特定字符串间的内容?

比如说D盘下边有一个叫做“ABC”的文件夹,其下有200个txt文件,每个文件都有一个字符串“CDE”和另一个字符串“FGH”,如何用批处理命令删除200个txt中这两个字符串和它们之间的内容。

我晕,是用批处理,刚留位置后,写成个VB的了,不过我这个支持长文件名路径,呵呵

下面代码保存为处理.vbs也可以运行

FolderPath=inputbox("输入处理的文件夹","输入处理的文件夹")
'FolderPath="F:\新建文件夹"
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(FolderPath)
set files=folder.files
for each fl in files
if right(fl,4)=".txt" Then
filename=fl
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(filename, 1)
strContents = objFile.ReadAll
objFile.Close
If cbool(instr(strContents,"CDE")) And cbool(instr(strContents,"FGH")) Then
arrpath1=split(strContents,"CDE")
arrpath2=split(strContents,"FGH")
arrpath3=arrpath1(0)&chr(10)&arrpath2(1)
Set fso=CreateObject("Scripting.FileSystemObject")
Set File=fso.OpenTextFile(filename, 2,Ture)
File.WriteLine(arrpath3)
File.Close
End If
end If
Next
MsgBox("成功!")
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-21
@echo off&setlocal enabledelayedexpansion
for /r "d:\abc\" %%a in (*.txt)do (
for /f "tokens=2 delims=cde,fgh" %%1 in ("%%~na")do (
set ".=%%~na"&call set ".=!.:%%1=!"&ren "%%a" "!.!".txt
))
echo Ok&pause
第2个回答  2010-01-21
批处理 应该可以实现你的要求 不过这个批处理可能要点时间 调试好后在给你 现在这里留个位先 对批处理有兴趣吧 一起学习呀
第3个回答  2010-01-21
txt 批量修改替换器,网上多的是,搜下好了
第4个回答  2010-02-02
直接用文件管理专家完美实现,用了就知道!
相似回答