我有1000个文件,例如TOP_QUERIES-abc.com.au.csv
,TOP_QUERIES-www.abc.com.au.csv
,TOP_QUERIES-m.lmn.com.au.csv
,TOP_QUERIES-blog.com.au.csv
和get-files.php
是否可以删除文件夹中的所有.csv文件,但文件夹中以blog.
,m.
,www
和.php
开头的文件除外?< / p>
我知道它可能在php中但我怎样才能在批处理文件中实现?
答案 0 :(得分:3)
@ECHO OFF
SETLOCAL
SET "targetdir=U:\destdir"
SET "exclude=blog. m. www."
FOR /f "delims=" %%a IN (
'dir /b /a-d "%targetdir%\*.csv" '
) DO (
ECHO %%a | findstr /B /L "%exclude%" >NUL
IF ERRORLEVEL 1 ECHO(DEL "%targetdir%\%%a"
)
GOTO :EOF
这应该为您完成任务。您需要更改targetdir
的设置以适合您的具体情况。
为了测试目的,所需的DEL命令仅为ECHO
。 在您确认命令正确后,将ECHO(DEL
更改为DEL
以实际删除文件。
排除.php
个文件,因为它们与*.csv
文件名不匹配 - 或者您是否想要删除从.php
开始的文件?如果是这样,只需将.php
添加到exclude
变量...
效率修订:
@ECHO OFF
SETLOCAL
SET "targetdir=U:\destdir"
SET "exclude=blog. m. www."
FOR /f "delims=" %%a IN (
'dir /b /a-d "%targetdir%\*.csv" ^| findstr /B /L "%exclude%"'
) DO (ECHO(DEL "%targetdir%\%%a"
)
GOTO :EOF