GREP(テキストファイル内の文字列検索)機能を持つWindowsツールはよくあるのですが、

指定した文字列が「見つからなかった」方のファイルを検索してくれるツール
(もしくはWindows標準機能で実現する方法)はないでしょうか。

できればフリーウェアで、利用実績が豊富なツールをお願いしたいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/08/21 10:44:38
  • 終了:2008/08/28 10:45:03

回答(3件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402008/08/21 11:13:32

ポイント35pt

Windowsコマンド集:(findstr)

Windows の標準コマンドですが、 /m と /v オプションの併用で可能です。

id:chihiroy

ありがとうございます。

……が、試してみたところ、残念ながら目的とする結果がうまく得られません。

検索したいフォルダに移動し、

findstr /V /M string *.txt

と実行してみました。

「string」という文字列を含んでいない(大文字小文字は区別する)

ファイル名の一覧を得たかったのですが、

含んでいるファイル名も出てきてしまっています。

/Vオプションは、「一致しない行を出力」するということなので、

すべてのファイルが合致してしまうようですね……。

2008/08/21 13:22:59
id:foobar_777 No.2

foobar_777回答回数78ベストアンサー獲得回数182008/08/21 22:59:05

ポイント35pt

WindowsのFindと同様にカレントディレクトリのみ検索すれば良いでしょうか?

以下をバッチファイルにして実行すればOKです。

ダブルクオーテーションの中身を希望の文字列に置き換えてください。

===== test.bat ================

@echo off

for %%i in (*.*) do (

find "hogehoge" %%i > NUL

if errorlevel 1 echo %%i

)

===============================

http://support.microsoft.com/kb/43075/ja

id:chihiroy

ありがとうございました! 試してみます。

残念ながら、サブディレクトリ以下も検索したいです……。

findには、そのオプションはないようですね。

そうすると、findstrでforで回すほかなさそうですね。

2008/08/26 10:35:08
id:foobar_777 No.3

foobar_777回答回数78ベストアンサー獲得回数182008/08/27 23:45:50

ポイント10pt

サブディレクトリまで検索したい場合にはforコマンドに/RオプションをつければOKです。

c:\hoge のディレクトリ以下を検索する際には以下のようにします。

c:\hogeに相当する部分は絶対パスではなく、相対パスでもOKです。・

===== test.bat ================

@echo off

for /R c:\hoge %%i in (*.*) do (

find "hogehoge" %%i > NUL

if errorlevel 1 echo %%i

)

===============================

http://support.microsoft.com/kb/43075/ja

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません