标题: [文件操作] 批处理for和if组合怎样删除所有盘符下的autorun? [打印本页]
作者: zhaoyajin2000 时间: 2011-6-15 13:14 标题: 批处理for和if组合怎样删除所有盘符下的autorun?
代发写了出来,但是觉得不太精简,而且删除命令的使用上存在疑问- @echo off&setlocal enabledelayedexpansion
- echo autorun检测删除以及免疫
- for %%a in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do if exist %%a:\autorun.inf (del /f /q /a %%a:\autorun.inf&&echo %%a盘发现autorun文件,已经删除成功) else (echo %%a盘下没有autorun.inf)
- pause
复制代码
我想问下in后面的盘符是否可以精简,del命令的使用上我存在疑问,如果autorun被加上系统属性或者一些例如独占等情况删除会否出错呢。
还有就是,如何让代码只检测存在的盘符下是否有autorun文件,没有的盘符则不进行检测,返回结果也是如此
作者: 601997526 时间: 2011-6-15 14:26
- wmic logicaldisk get deviceid
复制代码
del加了/a所以隐藏和系统属性也是会被删除的,不会出错
作者: zhaoyajin2000 时间: 2011-6-15 15:38
2# 601997526
能否麻烦兄弟指导下,我的代码是这样写的- for /f "delims=" %%a in ('wmic logicaldisk get deviceid') do if exist %%a:\autorun.inf (del /f /q %%a:\autorun.inf&&echo %%a盘发现autorun文件,已经删除成功) else (echo %%a盘下没有autorun.inf)
- pause
复制代码
但是执行起来存在错误,只能显示 盘下没有autorun.inf 不明白问题出在什么地方,代码什么地方写的不对,请兄弟多多指教
作者: 601997526 时间: 2011-6-15 16:32
3# zhaoyajin2000
哈哈,这个确实是个问题,刚刚才发现wmic这一句每输出一行会把光标停在行首的位置- for /f "delims=" %%a in ('wmic logicaldisk get deviceid') do (echo %%a1)
复制代码
你看了这个应该就会明白了
作者: applba 时间: 2011-6-15 16:37
wmic效率没有纯for效率高。
楼主难道连基本的调试都不会?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |