大家好,我正在尝试编写一个批处理文件,用于删除目录中的所有文件 - 基本上每个文件都将包含“status”
我不能仅通过文件扩展名来删除文件 - 有这篇文章 batch script delete file containining certain chars 然而,这似乎行不通
大家好,我正在尝试编写一个批处理文件,用于删除目录中的所有文件 - 基本上每个文件都将包含“status”
我不能仅通过文件扩展名来删除文件 - 有这篇文章 batch script delete file containining certain chars 然而,这似乎行不通
for /f "delims=" %%a in ('
findstr /l /i /m /c:"status" "c:\somewhere\*.*"
') do echo del "%%a"
findstr
命令列出包含字面量(/l
)"status"
的文件(/m
),并忽略字符串大小写(/i
)。使用for /f
命令处理列表以对每个文件执行del
操作。
del
命令只会被回显到控制台。如果输出正确,请删除echo
命令。
编辑:如果字符串status
不在文件中而在文件名中,则代码简化为:del "c:\somewhere\*status*"
%a
是用于命令行的,而%%a
则是用于批处理文件,因为百分号需要转义。 - MC ND
status
? - Stephanfindstr
操作。如果findstr
操作后的%ERRORLEVEL%
为0,则删除该文件。 - indiv