中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-04 13:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一bat,全盘查找指定文件,并且删除 查看 1,829 回复 11
楼 主 求一bat,全盘查找指定文件,并且删除 发表于 2007-03-05 12:10 ·  中国 辽宁 阜新 联通
新手上路
积分 10
发帖 3
注册 2007-03-05 05:05
19年会员
UID 80808
性别 男
状态 离线
我是一个初学者有很多问题
求一bat,全盘查找指定文件,并且删除.
刚才发了一个帖子,没有写清楚.我是想写个bat文件,实现这样的功能:
假设我要删除一个c.sys文件,文件是隐藏\系统属性,我也不知道这个文件的位置,所以要搜索所有的盘,最好bat中,还能列出删除的这个文件的位置.

谢谢刚才回的朋友,谢谢大家了
2 发表于 2007-03-05 12:55 ·  中国 湖北 潜江 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
19年会员
UID 79697
性别 男
状态 离线
del /ash /s filename
@set c= 不知则觉多,知则觉少,越知越多,便觉越来越少. --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


3 发表于 2007-03-05 13:09 ·  中国 浙江 绍兴 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
echo off
for %%i in (c:,d:,e:,f:) do del /s /ar /as /ah /aa %%i\c.sys
pause
4 发表于 2007-03-06 09:12 ·  中国 辽宁 阜新 联通
新手上路
积分 10
发帖 3
注册 2007-03-05 05:05
19年会员
UID 80808
性别 男
状态 离线
Originally posted by zhoushijay at 2007-3-5 12:09 AM:
echo off
for %%i in (c:,d:,e:,f:) do del /s /ar /as /ah /aa %%i\c.sys
pause


效果不好,只能查找各盘的根目录下,兄弟们有没有好方法
5 发表于 2007-03-06 09:19 ·  中国 河南 开封 联通
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
19年会员
UID 74627
性别 男
状态 离线
@echo off
echo 查找文件选项
title 批处理查杀病毒程序
set /p "a=输入可疑文件名称:"
echo.searching...
dir c:\ /s /b /a|find /I /N "%a%">list.txt
dir d:\ /s /b /a|find /I /N "%a%">>list.txt
:before
cls&echo 删除文件选项
type list.txt|more
set /p b="输入内编号:"
if %b% lss 10 (set w=3) else if %b% lss 100 (set w=4) else if %b% lss 1000 (set w=5) else if %b% lss 10000 (set w=6) else if %b% lss 100000 (set w=7) else if %b% lss 1000000 (set w=8) else if %b% lss 10000000 (set w=9)
findstr /C:"" list.txt>del.txt
:: /O 匹配行前字符偏移量 /N 所在行编号
SETLOCAL ENABLEDELAYEDEXPANSION
set /p c=<del.txt
del /p "!c:~%w%!"
goto before


很早前写的 不知道能不能帮你 我只有俩个盘所以需要你自己修改
菩提本无树,明镜亦非台,本来无一物,何处惹尘埃.
6 发表于 2007-03-06 09:37 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
for /f "skip=1" %a in ('wmic logicaldisk where "drivetype=3" get caption') do @del /s/a/f %a\c.sys
::命令行执行上面的命令,没有测试,有问题跟贴。
7 发表于 2007-03-06 09:51 ·  中国 浙江 绍兴 诸暨市 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
这个还不是和我一样只能在各盘根目录中找^
8 发表于 2007-03-06 09:57 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
  Re zhoushijay:
  del的"/s"参数就可以实现在子目录中删除文件的,我这里测试是通过的,不知道你的为什么不行。请说明你的测试环境及系统版本。
9 发表于 2007-03-06 10:14 ·  中国 浙江 绍兴 诸暨市 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
echo off
for %%i in (c:,d:,e:,f:) do del /s /f /q %%i\c.sys
pause

这样可以在子目录中查找啊
10 发表于 2007-05-07 19:44 ·  中国 广东 中山 电信
初级用户
★★
积分 127
发帖 62
注册 2007-04-19 12:43
19年会员
UID 85744
性别 男
状态 离线
学到东西! wmic命令强大!
11 发表于 2007-05-07 21:10 ·  中国 重庆 电信
初级用户
积分 34
发帖 13
注册 2007-04-30 03:14
19年会员
UID 86982
性别 男
状态 离线
可不可以 综合一下两种方法,这个BAT文件有用呀,谢谢
12 发表于 2007-05-08 16:41 ·  中国 广东 深圳 宝安区 电信
中级用户
★★
积分 358
发帖 130
注册 2005-11-12 16:29
20年会员
UID 45117
状态 离线
for %%i in (c:,d:,e:,f:) do del /s /f /q %%i\c.sys
强!
论坛跳转: