中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:全盘搜索指定文件并删除(好久没有来DOS联盟了)
<<   [1] [2]  >>   >
作者:
标题: 求助:全盘搜索指定文件并删除(好久没有来DOS联盟了) 上一主题 | 下一主题
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『楼 主』:  求助:全盘搜索指定文件并删除(好久没有来DOS联盟了)

情况是这样子的` 我服务器上有一系列文件 d:\a\1 d:\a\2 d:\a\3 d:\a\4 d:\a\5 d:\b\1 d:\b\2 d:\b\3 d:\b\4 d:\b\5 e:\a\1 e:\a\2 e:\a\3 e:\a\4 e:\a\5 e:\b\1 e:\b\2 e:\b\3 e:\b\4 e:\b\5 我想全盘查找 3 4 5 这几个文件并删除 好久没有写过批处理``以前学的都丢了 ` 呵呵``希望过路的大虾出手援助一下`` ───────────────── 版务记录 ───────────────── 执行:HAT 操作:[2009-02-13]在帖子标题中增加搜索关键字 说明:原标题"好久没有来DOS联盟了 `有个批处理需要大家帮我写下`"不利于论坛搜索 处罚:扣除2点积分 提示:建议阅读以下帖子 {1415}提问的智慧 {7326}论坛新手必读,所有人的基本行为准则 {22703}请不要做浮躁的人 {27314}反面教材:本论坛“精彩”标题小集 {32667}愤怒:那些连标题都写不清楚的人们啊,你们醒醒吧 {32825}本版严厉整顿烂帖 ───────────────── 版务记录 ───────────────── [ Last edited by HAT on 2009-2-13 at 22:48 ]


   此帖被 -2 点积分    点击查看详情   
评分人:【 HAT 分数: -2  时间:2009-2-13 22:48


2009-2-13 15:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 2 楼』:  

==,刚才看错了。 想想 [ Last edited by zhengqian529 on 2009-2-13 at 15:46 ]


2009-2-13 15:45
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『第 3 楼』:  

刚才正在编辑``


2009-2-13 15:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 4 楼』:  

... 列举一下要删除什么文件




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-13 15:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『第 5 楼』:  

比如每个盘的 3 4 5这几个文件``


2009-2-13 15:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『第 6 楼』:  



2009-2-13 15:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 7 楼』:  

1. dir /a-d /s /b "盘符" >>a.txt ::将所有的文件存放到a.txt文件中 2. for /f "delims=" %%i in ('findstr "3 4 5" a.txt') do del %%i ::删除你想删除的3,4,5文件.


2009-2-13 16:01
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复
terrytong
中级用户





积分 240
发帖 115
注册 2008-3-10
状态 离线
『第 8 楼』:  

for /r %%a in (name) do del %%~fa


2009-2-13 16:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 9 楼』:  

Originally posted by zhengqian529 at 2009-2-13 16:01: 1. dir /a-d /s /b "盘符" >>a.txt ::将所有的文件存放到a.txt文件中 2. for /f "delims=" %%i in ('findstr "3 4 5" a.txt') do del %%i ::删除你想删除的3,4,5文件.
会误删文件的 比如有一个目录名包含4的话




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-13 16:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『第 10 楼』:  

这样会连软件名包括那几个字的都给删掉的``


2009-2-13 16:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 11 楼』:  

需要用findstr 正则匹配。




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-13 16:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jy02116916
初级用户





积分 68
发帖 37
注册 2008-8-15
状态 离线
『第 12 楼』:  

@echo off
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype=3" get caption') do dir /a-d/s/b %%a\3 >>%temp%\dir.txt 2>nul
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype=3" get caption') do dir /a-d/s/b %%a\4 >>%temp%\dir.txt 2>nul
for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype=3" get caption') do dir /a-d/s/b %%a\5 >>%temp%\dir.txt 2>nul
for /f "delims=" %%i in (%temp%\dir.txt) do del "%%~fi" 2>nul
del %temp%\dir.txt >nul


2009-2-13 16:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『第 13 楼』:  

Originally posted by jy02116916 at 2009-2-13 04:53 PM: [code]@echo off for /f "skip=1" %%a in ('wmic logicaldisk where "drivetype=3" get caption') do dir /a-d/s/b %%a\3 >>%temp%\dir.txt 2>nul for /f "skip=1" %%a ...
代码测试无效啊``不过还是谢谢了``


2009-2-13 17:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 14 楼』:  

Originally posted by yishanju at 2009-2-13 16:07: 会误删文件的 比如有一个目录名包含4的话
恩,刚才开会去了,我也想到了这个问题,那可以这样: %~nI% 取a.txt文件里面的文件名
@echo off&setlocal EnableDelayedExpansion

for %%i in (e) do (
    dir /a-d /s /b %%i:\>>a.txt)

for /f "delims=" %%i in (a.txt) do (
    set var=%%~ni
    if "!var!"=="3" del %%i
    if "!var!"=="4" del %%i
    if "!var!"=="5" del %%i
    )

Endlocal


2009-2-13 18:47
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 15 楼』:  

cmd 下好简单 del /s 文件列表 就可以了。 pushd d:\ del /s 2 3 4




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-13 20:03
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
<<   [1] [2]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: