bat 删除文件夹下所有txt中指定的内容
d:/Userinfo/里面有20个TXT文件。全部是类似这样的内容·······1210usernameaction=12010/11/112:353456userna...
d:/Userinfo/里面有 20个TXT文件。
全部是类似这样的内容
·······
1 2 1 0 username action=1 2010/11/11 2:35
3 4 5 6 username1 action=2 2010/11/11 2:36
2 4 5 7 nihao action=2 2010/11/11 2:37
··········
想用bat实现
cmd下
1.bat username d:/Userinfo/
这样,就删除了包含D:/userinfo下所有带有username关键字的这一行·
最后结果:
·······
2 4 5 7 nihao action=2 2010/11/11 2:37
··········
谁帮我写啊?谢谢啊· 展开
全部是类似这样的内容
·······
1 2 1 0 username action=1 2010/11/11 2:35
3 4 5 6 username1 action=2 2010/11/11 2:36
2 4 5 7 nihao action=2 2010/11/11 2:37
··········
想用bat实现
cmd下
1.bat username d:/Userinfo/
这样,就删除了包含D:/userinfo下所有带有username关键字的这一行·
最后结果:
·······
2 4 5 7 nihao action=2 2010/11/11 2:37
··········
谁帮我写啊?谢谢啊· 展开
展开全部
'═════代═══码═══开═══始═════
set fso=CreateObject("Scripting.FileSystemObject")
set ws=CreateObject("wscript.shell")
p=InputBox("请输入关键字:")
if trim(p)="" then wscript.quit
ws.run "cmd /c dir /ad/b/s D:\Userinfo\* >temp.tem",0
wscript.sleep 1000
set ffr=fso.opentextfile("temp.tem",1)
do
set fs=fso.getfolder(ffr.readline).files
for each f in fs
if lcase(right(f.name,4))=".txt" then
set t=fso.createtextfile("temp.tmp",2)
set fr=fso.opentextfile(f.path,1)
do
data=fr.readline
if instr(data,p)=0 then t.writeline data
loop until fr.atendofstream
fr.close:t.close
set fw=fso.createtextfile(f.path,2)
set fr=fso.opentextfile("temp.tmp",1)
fw.write fr.readall
fr.close:fw.close
end if
next
loop until ffr.atendofstream
ffr.close
fso.deletefile "temp.tmp",true
fso.deletefile "temp.tem",true
msgbox "完成"
'Created By escortmnm from VBS团队
'═════代═══码═══结═══束═════
set fso=CreateObject("Scripting.FileSystemObject")
set ws=CreateObject("wscript.shell")
p=InputBox("请输入关键字:")
if trim(p)="" then wscript.quit
ws.run "cmd /c dir /ad/b/s D:\Userinfo\* >temp.tem",0
wscript.sleep 1000
set ffr=fso.opentextfile("temp.tem",1)
do
set fs=fso.getfolder(ffr.readline).files
for each f in fs
if lcase(right(f.name,4))=".txt" then
set t=fso.createtextfile("temp.tmp",2)
set fr=fso.opentextfile(f.path,1)
do
data=fr.readline
if instr(data,p)=0 then t.writeline data
loop until fr.atendofstream
fr.close:t.close
set fw=fso.createtextfile(f.path,2)
set fr=fso.opentextfile("temp.tmp",1)
fw.write fr.readall
fr.close:fw.close
end if
next
loop until ffr.atendofstream
ffr.close
fso.deletefile "temp.tmp",true
fso.deletefile "temp.tem",true
msgbox "完成"
'Created By escortmnm from VBS团队
'═════代═══码═══结═══束═════
2011-04-20
展开全部
将此文件保存为 1.bat
@echo off
@for /r %2 %%a in (*.txt) do type "%%a" | find "%1" /v >>"%%a.tmp"
@for /r %2 %%a in (*.txt) do del /q "%%a" && move /y "%%a.tmp" "%%a" >nul
执行格式为:
1.bat username d:\userinfo
by 金日
@echo off
@for /r %2 %%a in (*.txt) do type "%%a" | find "%1" /v >>"%%a.tmp"
@for /r %2 %%a in (*.txt) do del /q "%%a" && move /y "%%a.tmp" "%%a" >nul
执行格式为:
1.bat username d:\userinfo
by 金日
参考资料: 微软
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询