我正在尝试编写一个批处理文件来检查给定目录,读取每个文件以获取给定字符串“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
我在发布此内容后不久就找到了它。
答案 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"
)
)