我有一个包含一系列 PDF 文件的文件夹。我想删除除两个之外的所有内容。 异常的文件名位于变量Exception1和Exception2中。
如果我想保留一个文件,我可以这样做:
for %%A in (*.pdf) do (
echo %%~A
if not "%%~A" == %exception% del "%%~A"
)
但是如果我想保留两个文件,我就无法让它工作。
for %%f in (*.pdf) do (
if /i not "%%~nxf"=="%exception1%" (
if /i not "%%~nxf"=="%exception2%" (
echo Deleting "%%f"
REM del "%%f"
) else (
echo Keeping "%%f"
)
) else (
echo Keeping "%%f"
)
)
这会生成一条错误消息“此时其他情况是意外的”。
我也试过这个:
if /i not "%%~nxf"=="%exception1%" and not "%%~nxf"=="%exception2%"
也不起作用。
我怎样才能让它发挥作用?
你尝试过这个吗?
@echo off
set "exception1=file1.pdf"
set "exception2=file2.pdf"
for %%f in (*.pdf) do (
if /i not "%%~nxf"=="%exception1%" if /i not "%%~nxf"=="%exception2%" (
echo Deleting "%%f"
REM del "%%f"
) else (
echo Keeping "%%f"
)
)