不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
echo off&cls&mode con lines=5000
rem 将一个指定目录下多个子文件夹里除了指定名称以外的其余文件删除
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
set "folder=D:\123"
if not exist "%folder%" (echo;"%folder%" 未找到&pause&exit)
if "%folder:~-1%" equ "\" set "folder=%folder:~,-1%"
for /f "delims=" %%a in ('dir /ad-h/b "%folder%\"') do (
for /f "delims=" %%b in ('dir /a-d-h/b/s "%folder%\%%~nxa\" 2^>nul') do (
set "f="
for %%c in ("2.xlsx") do (
if /i "%%~nxb" equ "%%~c" set f=1
)
if not defined f (echo;"%folder%\%%~nxa\%%~nxb")
)
)
echo;%#% +%$%%$%/%_% %z%
pause
exit
echo off&cls&mode con lines=5000
rem 将一个指定目录下多个子文件夹里除了指定名称以外的其余文件删除
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
set "folder=D:\123"
if not exist "%folder%" (echo;"%folder%" 未找到&pause&exit)
if "%folder:~-1%" equ "\" set "folder=%folder:~,-1%"
for /f "delims=" %%a in ('dir /ad-h/b "%folder%\"') do (
for /f "delims=" %%b in ('dir /a-d-h/b/s "%folder%\%%~nxa\" 2^>nul') do (
set "f="
for %%c in ("2.xlsx") do (
if /i "%%~nxb" equ "%%~c" set f=1
)
if not defined f (echo;"%folder%\%%~nxa\%%~nxb")
)
)
echo;%#% +%$%%$%/%_% %z%
pause
exit