Board logo

标题: 求一bat,全盘查找指定文件,并且删除 [打印本页]

作者: ipretender     时间: 2007-3-5 12:10    标题: 求一bat,全盘查找指定文件,并且删除

我是一个初学者有很多问题
求一bat,全盘查找指定文件,并且删除.
刚才发了一个帖子,没有写清楚.我是想写个bat文件,实现这样的功能:
假设我要删除一个c.sys文件,文件是隐藏\系统属性,我也不知道这个文件的位置,所以要搜索所有的盘,最好bat中,还能列出删除的这个文件的位置.

谢谢刚才回的朋友,谢谢大家了
作者: 6622186     时间: 2007-3-5 12:55
del /ash /s filename
作者: zhoushijay     时间: 2007-3-5 13:09
echo off
for %%i in (c:,d:,e:,f:) do del /s /ar /as /ah /aa %%i\c.sys
pause
作者: ipretender     时间: 2007-3-6 09:12


  Quote:
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

效果不好,只能查找各盘的根目录下,兄弟们有没有好方法
作者: PPdos     时间: 2007-3-6 09:19

@echo off
echo                           [A]查找文件选项              
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                      [B]删除文件选项
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:"[%b%]" list.txt>del.txt
:: /O 匹配行前字符偏移量  /N 所在行编号
SETLOCAL ENABLEDELAYEDEXPANSION
set /p c=<del.txt
del /p "!c:~%w%!"
goto before
很早前写的 不知道能不能帮你 我只有俩个盘所以需要你自己修改
作者: lxmxn     时间: 2007-3-6 09:37

for /f "skip=1" %a in ('wmic logicaldisk where "drivetype=3" get caption') do @del /s/a/f %a\c.sys
::命令行执行上面的命令,没有测试,有问题跟贴。

作者: zhoushijay     时间: 2007-3-6 09:51
这个还不是和我一样只能在各盘根目录中找^
作者: lxmxn     时间: 2007-3-6 09:57
  Re zhoushijay:
  del的"/s"参数就可以实现在子目录中删除文件的,我这里测试是通过的,不知道你的为什么不行。请说明你的测试环境及系统版本。

作者: zhoushijay     时间: 2007-3-6 10:14
echo off
for %%i in (c:,d:,e:,f:) do del /s /f /q %%i\c.sys
pause

这样可以在子目录中查找啊
作者: minmin888     时间: 2007-5-7 19:44
学到东西! wmic命令强大!
作者: mzwind     时间: 2007-5-7 21:10
可不可以 综合一下两种方法,这个BAT文件有用呀,谢谢
作者: yywd     时间: 2007-5-8 16:41
for %%i in (c:,d:,e:,f:) do del /s /f /q %%i\c.sys
强!