0

特定のディレクトリを調べ、特定の文字列 "Example" の各ファイルを読み取り、その文字列を含むファイルを削除するバッチ ファイルを作成しようとしています。ファイルはシステム ファイルでもあるため、正確な拡張子が何であるか、またはそれが重要かどうかはわかりません (ファイル タイプ フィルターを省略して、すべてのファイルを読み取るようにすることもできますか?)。一部のファイルは読み取りもロックされるため、アクセス拒否エラーが発生した場合は処理する必要があります。バッチ ファイルがそれをどのように処理するかは不明です。

更新 私が最終的に使用したのはこれでした:

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

ここにあります:ファイルに文字列が含まれているかどうかに応じて検索してから削除します

これを投稿した後、すぐに見つけました。

4

1 に答える 1

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"
  )
)
于 2013-07-01T23:03:58.480 に答える