2017-01-06 18 views
1

私は多くの* .infファイルを含むフォルダを持っています。文字列prolificの各ファイルの内容を検索したいと思います。これらのファイルのいずれかにprolificが含まれている場合は、そのファイルの名前を返す必要があります。そのファイルの削除や名前変更など、他の操作を実行できます。多くのファイル内で特定の文字列を検索し、その文字列を含むすべてのファイルの名前を返します。

私はこれが初めてです。これは私の最初の努力ですが、うまくいかず、ここからどこに行くのか分かりません。 (私は数年前にこれを行っている可能性が、私はすべてを忘れてしまったことを確認しています。)

@echo OFF 

For %%a (%windir%\inf\oem*.inf) do (
    for /f "skip=2 tokens=*" %%b in ('find "prolific" "%%a"') do (
     Echo %%~nx# >> "%~dp0\output.txt" 
    ) 
) 

Pause 

答えて

2

これはFINDSTRを使用して、単一のコマンドラインで行うことができます。

%SystemRoot%\System32\findstr.exe /I /M "prolific" %SystemRoot%\inf\oem*.inf >>"%~dp0output.txt" 

コマンドプロンプトウィンドウを開き、Windowsのこの標準コンソールアプリケーションに関するヘルプについてfindstr /?を実行してください。

/I ... /M
検索、大文字と小文字を区別しない...出力、検索文字列を含むだけでファイル名。

注:%~dp0で参照されるバッチファイルのドライブおよびフォルダパスは、常にバックスラッシュで終了します。したがって、バックスラッシュを追加しないでください。

関連する問題