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
··········
谁帮我写啊?谢谢啊·
展开
 我来答
escortmnm
2011-04-20 · TA获得超过3393个赞
知道大有可为答主
回答量:1890
采纳率:0%
帮助的人:3266万
展开全部
'═════代═══码═══开═══始═════
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 金日

参考资料: 微软

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式