删除包含字符串的系统文件

时间:2013-07-01 22:57:03

标签: string batch-file readfile delete-file

我正在尝试编写一个批处理文件来检查给定目录,读取每个文件以获取给定字符串“Example”,然后删除包含该字符串的所有文件。这些文件也是系统文件,所以我不知道确切的扩展名是什么或者是否重要(也许你可以省略文件类型过滤器并让它读取所有文件?)。一些文件也会被锁定而不能读取,因此如果发生这种情况,它需要处理访问拒绝错误,不确定批处理文件如何处理。

更新 我最终使用的是:

for / f“eol =:delims =”%F in('findstr / m monkey * .txt')do del“%F”

在此处找到:Search and then delete depending on whether files contain a string

我在发布此内容后不久就找到了它。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

@echo off

cd "C:\some\where"
for /f %%f in ('dir /b /a:-d *') do (
  findstr "Example" "%%~ff" && (
    attrib -r -s -h "%%~ff"
    del /q "%%~ff"
  )
)