就如何用批处理命令删除某个文件夹下所有TXT文件中两个特定字符串间的内容?
比如说D盘下边有一个叫做“ABC”的文件夹,其下有200个txt文件,每个文件都有一个字符串“CDE”和另一个字符串“FGH”,如何用批处理命令删除200个txt中这两个...
比如说D盘下边有一个叫做“ABC”的文件夹,其下有200个txt文件,每个文件都有一个字符串“CDE”和另一个字符串“FGH”,如何用批处理命令删除200个txt中这两个字符串和它们之间的内容。
展开
6个回答
展开全部
我晕,是用批处理,刚留位置后,写成个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("成功!")
下面代码保存为处理.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("成功!")
展开全部
@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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
批处理 应该可以实现你的要求 不过这个批处理可能要点时间 调试好后在给你 现在这里留个位先 对批处理有兴趣吧 一起学习呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
txt 批量修改替换器,网上多的是,搜下好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用文件管理专家完美实现,用了就知道!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询