[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理for和if组合怎样删除所有盘符下的autorun?

代发写了出来,但是觉得不太精简,而且删除命令的使用上存在疑问
  1. @echo off&setlocal enabledelayedexpansion
  2. echo            autorun检测删除以及免疫         
  3. 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)
  4. pause
复制代码
我想问下in后面的盘符是否可以精简,del命令的使用上我存在疑问,如果autorun被加上系统属性或者一些例如独占等情况删除会否出错呢。

还有就是,如何让代码只检测存在的盘符下是否有autorun文件,没有的盘符则不进行检测,返回结果也是如此

wmic效率没有纯for效率高。

楼主难道连基本的调试都不会?

TOP

3# zhaoyajin2000


哈哈,这个确实是个问题,刚刚才发现wmic这一句每输出一行会把光标停在行首的位置
  1. for /f "delims=" %%a in ('wmic logicaldisk get deviceid') do (echo %%a1)
复制代码
你看了这个应该就会明白了

TOP

2# 601997526


能否麻烦兄弟指导下,我的代码是这样写的
  1. 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)
  2. pause
复制代码
但是执行起来存在错误,只能显示 盘下没有autorun.inf 不明白问题出在什么地方,代码什么地方写的不对,请兄弟多多指教

TOP

  1. wmic logicaldisk get deviceid
复制代码
del加了/a所以隐藏和系统属性也是会被删除的,不会出错
1

评分人数

TOP

返回列表