あなたの要件は明確ではありません。私は次のことを想定しています:
1 - 10 フォルダーの「クラスター」は、特定のルート フォルダー内のすべてのフォルダーで構成されます。
2 - テキスト ファイルの拡張子はすべて .txt です
3 - 最初の行が で始まらない、指定されたフォルダー内のすべてのファイルを報告する必要があります。ここで$O*.MIN%
、* は 1 つ以上の文字を表し、大文字O
とMIN
小文字が区別されます。
@echo off
setlocal
set "rootFolder=c:\yourRootPath"
set "fileMask=*.txt"
set "outFile=missing.txt"
>"%outFile%" (
for /d %%D in ("%rootFolder%") for %%F in ("%%D\%fileMask%") do (
findstr /nbr "$O..*\.MIN%%" "%%F" | findstr /bl "1:" >nul || echo %%F
)
)
実際の要件が異なる場合、コードの変更はあまり必要ありません。たとえば、次の変更は簡単に実装できます。
- ファイル マスクを変更する
- 検索で大文字と小文字を区別しないようにする
- ルート フォルダー内のすべてのフォルダーを再帰的に処理する
- 特定のフォルダのリストを処理する
- ランダムファイルで使用できる文字および/または文字数を制限します (あなたの 0123456)