批处理如何 删除指定文件夹内包含的所有文件外的其他指定文件
在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都不能删 展开
*.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都不能删 展开
2个回答
展开全部
代码如下,其中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
@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目录下的所有指定类型文件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询