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

[文件操作] 排除删除的批处理,请高手解释一下

代码如下:
@echo off
for /f "delims=" %%i in ('dir /b /ad "e:\qq\"^|findstr /i /v /b /e /c:"Sounds" /c:"Theme" ') do attrib -s -h -r -a /s /d "e:\qq\%%i" && rd /s /q "e:\qq\%%i"
for /f "delims=" %%i in ('dir /b /a-d "e:\qq\"^|findstr /i /v /b /e /c:"ImpsClientBase.dll" ') do del /a /f /q "e:\qq\%%i"

这段代码的作用是删除E:\QQ\文件夹下除sounds和theme 这两个文件夹和impsClientBase.dll这个文件,把其它的都删除,功能可以实现,代码我看不懂

我昨天晚上研究了很久,弄懂了一些,关键地方还是不懂,主要是()内的代码,首先用dir把所有文件和文件夹列出来,然后把结果传给findstr查找,可是^是把特殊符号转换成一般的符号,就是说用了^|后,dir的结果就不能传给findstr了,我把^去了,反而没有删除的功能了,不知道是怎么回事,希望有高手能给出详细解释

[ 本帖最后由 wirelesszl 于 2009-2-15 02:19 编辑 ]

为方便他人日后进行搜索,请在标题中简要说明代码的想要功能或者你求助的具体疑难点;一个模糊甚至没有任何意义的标题,既不利于他人搜索,又严重影响他人回答问题的心情,最终导致自己的问题无法得到快速解决。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本主题暂时关闭,请楼主修改好你大概的标题,不然,贴子直接送进回收站!
***共同提高***

TOP

for语句中的管道符为何要用尖号^进行转义?
http://bbs.bathome.net/viewthread.php?tid=1290&page=2#pid6306
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表