批处理批量删除当前目录中的所有文件夹包含子目录所有类型文件删除,但排除当前目录多个特定后缀文件?

任意文件夹内都可以强制删除目录下的所有文件夹,保留特定后缀文件

第1个回答  2018-06-13
@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追问

需要把所有文件夹全部删除,
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"

本回答被提问者和网友采纳
第2个回答  2020-11-09
以下代码复制粘贴到记事本,另存为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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网