批处理 删除除了某个指定文件外的文件(含子目录)?
有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,要求删除每个文件夹中除了张三以外的文件,若删除文件后文件夹为空,则连文件夹一并删除,谢谢。
展开
1个回答
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行
复制粘贴到记事本,另存为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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询