我是编写Windows批处理代码的新手。我试图从3天以前的文件夹中删除文件,但在删除之前进行检查以确保删除所有匹配的文件。例如......
123456.html
123456.txt
123456.xxx
987654.html
987654.txt
鉴于文件列表,我希望批处理找到.xxx
文件并删除它以及任何匹配的文件,当这三个文件都超过3天时。
我在互联网上找到了以下内容:
@ECHO Off
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=C:\Users\ad9f2p\TEST CLEANUP"
FOR /f "delims=" %%a IN (
'dir /b /a-d "%sourcedir%\*" '
) DO (
SET "filename=%%a"
SET "filename=!filename:*.XXX=!"
IF "!filename!"=="!filename:_=!" ECHO DEL "%sourcedir%\%%a"
)
Pause
GOTO :EOF
我将文件名后缀更改为.xxx
,希望删除所有匹配项,但它回显了要删除的目录中的所有内容。它应该只留下987654文件。