批处理 删除除了某个指定文件外的文件(含子目录)?

有A、B、C……N个文件夹,每个文件夹下有N个文件,如A\张三.xls,B\北京张三.xls,C\北京张三简历.xls,D\上海李四照片.xls,要求删除每个文件夹中除了... 有A、B、C……N个文件夹,每个文件夹下有N个文件,如A\张三.xls,B\北京张三.xls,C\北京张三简历.xls,D\上海李四照片.xls,要求删除每个文件夹中除了张三以外的文件,若删除文件后文件夹为空,则连文件夹一并删除,谢谢。 展开
 我来答
qop_dob
2020-04-15 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:3989万
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行
@echo off
rem 删除多个子文件夹里文件名称不包含指定字符串/关键字的文件
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "keyword=张三"
for /f "delims=" %%a in ('dir /ad/b') do (
    for /f "delims=" %%b in ('dir /a-d/b "%%a\"') do (
        set "file=%%a\%%~nxb"
        set "fname=%%~nb"
        setlocal enabledelayedexpansion
        if /i "!fname:%keyword%=!" equ "!fname!" (
            echo;"!file!"
            del /a /f /q "!file!"
        )
        endlocal
    )
    rd "%%a\" 2>nul
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式