批处理批量删除当前目录中的所有文件夹包含子目录所有类型文件删除,但排除当前目录多个特定后缀文件?
展开全部
@echo off & title 删除当前目录中指定后缀名以外的文件 By 依梦琴瑶
::设置当前目录中要保留的文件后缀
set Ext=zip,txt,php
for %%a in (*) do (
set "Skip="
for %%b in (%Ext%) do if /i "%%~xa"==".%%~b" set "Skip=1"
if not defined Skip del /a/f/q "%%~a"
)
for /r /d %%a in (*) do del /a/f/q/s "%%~a\*"
pause
::设置当前目录中要保留的文件后缀
set Ext=zip,txt,php
for %%a in (*) do (
set "Skip="
for %%b in (%Ext%) do if /i "%%~xa"==".%%~b" set "Skip=1"
if not defined Skip del /a/f/q "%%~a"
)
for /r /d %%a in (*) do del /a/f/q/s "%%~a\*"
pause
追问
需要把所有文件夹全部删除,
for /r /d %%a in (*) do del /a/f/q/s "%%~a\*"
pause
这段代码好像是执行了子目录所有文件删除但保留了文件夹
追答
您问题描述中没有提及到删除文件夹,只是提到删除文件夹包含子文件夹里面的所有文件,所以我没有写删除文件夹的代码。
如果需要删除文件夹,那么请把
for /r /d %%a in (*) do del /a/f/q/s "%%~a\*"
改成
for /d %%a in (*) do rd /s/q "%%~a"
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
@echo off
rem 删除当前目录下的多个子文件夹
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad-h/b') do rd /s /q "%%a\"
echo;%#% +%$%%$%/%@% %z%
pause
exit
@echo off
rem 删除当前目录下的多个子文件夹
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /ad-h/b') do rd /s /q "%%a\"
echo;%#% +%$%%$%/%@% %z%
pause
exit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询