我想删除目录中的所有 pdf 文件,除了两个文件名定义为变量exception1
和的文件exception2
。
chcp 65001
setlocal ENABLEDELAYEDEXPANSION
set pathname=%~p1
set letter=%~d1
pushd %letter%%pathname%
chcp
set exception1="218-0553.2.pdf"
set exception2="218-0553.2 test.pdf"
pause
dir *.pdf
for %%f in (*.pdf) do (
if /i not "%%~nxf"=="%exception1%" (
if /i not "%%~nxf"=="%exception2%" (
echo Deleting "%%f"
del "%%f"
) else (
echo Keeping "%%f"
)
) else (
echo Keeping "%%f"
)
)
popd
endlocal
这将生成一条错误消息:
else was unexpected at this time
我也尝试过这个,但它也不起作用:
if /i not "%%~nxf"=="%exception1%" and not "%%~nxf"=="%exception2%"
我是否遗漏了什么?