批处理如何 删除指定文件夹内包含的所有文件外的其他指定文件

在D盘中有两个装有必备软件文件夹A,B,要保留其A,B两个文件夹下的所有文件。并删除D盘中所有的(包含隐藏的以下后缀文件)*.mp3*.mav*.mpg*.mpeg*.m... 在D盘中有两个装有必备软件文件夹A,B,要保留其A,B两个文件夹下的所有文件。并删除D盘中所有的(包含隐藏的以下后缀文件)
*.mp3
*.mav
*.mpg
*.mpeg
*.mov
*.mp4
*.asf
*.rm
*.rmvb
*.wmv
*.mkv
*.flv
文件,请问如何写批处理啊?
@echo off
del /f /s /q /a D:\*.mp3
del /f /s /q /a D:\*.mav
del /f /s /q /a D:\*.mpg
del /f /s /q /a D:\*.mpeg
del /f /s /q /a D:\*.mov
del /f /s /q /a D:\*.mp4
del /f /s /q /a D:\*.asf
del /f /s /q /a D:\*.rm
del /f /s /q /a D:\*.rmvb
del /f /s /q /a D:\*.wmv
del /f /s /q /a D:\*.mkv
del /f /s /q /a D:\*.flv
del /f /s /q /a D:\*.exe

del /f /s /q /a:h-s D:\*.*
pause&exit
echo

我是这样写的,但是这样就删掉了所有的exe,包括必要软件的exe都给删除了,如果保留A,B两个文件夹中的exe不被删除呢?~

我的意思是保留A B两个文件夹及其下面的所有文件,不管这些文件是什么格式都保留
,然后删除D盘指定的.MP3 .mkv 等后缀文件,包括隐藏的MP3文件都删除。但是没有指定的除外,比如我没有指定txt,那么D盘的所有txt都不能删
展开
 我来答
百度网友c565fb9
2012-12-06 · TA获得超过441个赞
知道小有建树答主
回答量:400
采纳率:88%
帮助的人:110万
展开全部
代码如下,其中driver=后的字符代表盘符,默认为d盘。str代表排除的文件夹名称,可有多个用空格隔开,默认为A和B。

@echo off
set driver=d:
set str=A B
echo 开始删除文件
for /f %%i in ('dir %driver% /ad /b^|findstr /V "%str%"') do (

del /f /s /q /a %%i

)
echo 工作结束任意键退出!
pause >nul
更多追问追答
追问
额 , ,运行了下,没有删除指定的*.mp3
*.mav
*.mpg
*.mpeg
*.mov
*.mp4
*.asf
*.rm
*.rmvb
*.wmv
*.mkv
*.flv
文件。删除了些其他的文件
追答
抱歉,大意了。 刚才的脚本会删除除A和b文件夹的所有文件而不指lz指定的类型,修正如下代码如下:

@echo off
set driver=d:
set str=A B
echo 开始删除文件
for /f %%i in ('dir %driver% /ad /b^|findstr /V "%str%"') do (

del /f /s /q /a %%i/*.mp3 *.mav *.mpg *.mpeg *.mov *.mp4 *.asf *.rm *.rmvb *.wmv *.mkv *.flv
)
echo 工作结束任意键退出!
pause >nul

本脚本会删除D盘除A和B目录下的所有指定类型文件
摆渡上岸
2012-12-06 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:138万
展开全部
问题说的太乱:
请问是不是这个意图:
保留d:盘下a、b这两个目录及其内所有文件,并保留d:盘下扩展名为exe的文件,
除此之外,其他全删掉?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式