findstr
フロントエンド(Windows NT/2000/XP用)


このフロントエンドからは、Windows NT/2000/XPfindstrコマンドを実行できます。findstrは、指定された正規表現に一致する行を入力ファイルから探します。gnugrep.exe)も同様の機能を持っています。Windows 9x/Meにはfindstr.exeが含まれていませんので、このフロントエンドもWindows 9x/Meマシンにはインストールされません。しかし、Windows 9x/Meでも、正規表現を使わず、文字列をそのままの形で検索するfindコマンド()は使えます。このフロントエンドの「実行」ボタンは、入力と検索対象の両方が指定されたときに有効になります。

 

通常のウィンドウ

のメインダイアログから起動したときのウィンドウ

入力

マイコンピュータ、エクスプローラなどのウィンドウからファイルのアイコンをドラッグしてきてこのウィンドウにドロップすれば、そのファイルが入力ファイルとして使われます。

 

クリップボード  このチェックボックスをクリックすると、「入力ファイル」ダイアログボックスで指定された入力を使わず、クリップボードの内容を標準入力にリダイレクトします。

ファイル      このボタンをクリックすると、「入力ファイル」ダイアログボックスが表示されます。ファイルの順番を指定したいときや、ワイルドカードを使って複数のファイルをまとめて指定したい場合には、このダイアログボックスを使います。

 

入力の指定方法の詳細については、「入力の指定」を参照してください。

オプション

パターン

Windowsのマニュアルからは明らかではありませんが、Windows 2000XPで実行してみた限りでは、パターンには、/C/Gのオプション付きで指定する方法と、/が先頭についていない最初のパラメータとして指定する方法があります。/C/Gオプションが使われていなければ、最初の非オプションパラメータがパターン文字列と解釈されます。/C/Gオプションは、複数回指定できます。/C/Gオプションを使わない場合には、スペースは複数の検索文字列の区切り子として使われます。オプションのパターンに含まれるスペースは、そのままスペースとして扱われます。

オプション付き /C/Gオプションを使ってパターンを指定します。

 

 

/C Windows 2000のヘルプには、「指定したテキストをリテラル検索文字列として使います。」と書かれており、さらに、「接頭語として引数 /C を使わない場合は、複数の検索文字列をスペースで区切」るが、/Cを使えば検索文字列のなかにスペースを使えるようになると書かれています。だとすれば、コマンド行でパターンを指定するための方法としては、/Cだけがあれば充分だと判断しました。「追加」、「編集」、「除去」ボタンを使って複数のパターンを指定できるようになっています。「/C:パターン」が選択されている状態で「追加」を押すと、次のようなダイアログボックスが表示されます。

 

 

■■パターンを入力して「OK」ボタンを押すと、そのパターンがリストコントロール内に表示されます。

■■リストコントロール内のパターンを選択して「編集」ボタンを押すか、パターンをダブルクリックすると、先ほどと同じダイアログボックスが表示され、内容を編集できます。

■■リストコントロール内のパターンを選択して「除去」ボタンか[Delete]キーを押すと、リストコントロールからそのパターンを取り除くことができます。

 

/G 「/G: ファイル」が選択されている状態で「追加」を押すと、標準の「ファイルを開く」ダイアログボックスがオープンされます。何らかのファイルを選択して「OK」ボタンを押すと、そのファイルの名前がリストコントロールに表示され、ファイルの各行がパターンとして扱われるようになります。

■■リストコントロール内のファイル名を選択して「編集」ボタンを押すか、ファイル名をダブルクリックすると、「設定」ダイアログボックスの「検索パターン編集用エディタ」で指定されたテキストエディタを起動し、ファイルをオープンします。編集結果を保存すると、ファイルの新しい内容が検索パターンとして使われます。

■■リストコントロール内のファイル名を選択して「除去」ボタンか[Delete]キーを押すと、リストコントロールからそのファイルを取り除くことができます(ファイル自体を削除するわけではありません)。

オプションなし /C/Gオプションを使わずにパターンを指定します。

表示方法

このページには、主として表示方法に影響を与えるオプションがまとめられています。

 

 

/M 通常は、行頭にファイル名とコロンを付加した形で(入力ファイルが1つのときにはファイル名は表示されません)パターンにマッチした行が表示されますが、このオプションを選択すると、パターンにマッチする行を持つファイルの名前だけが表示されます。

/N 行頭に行番号とコロンを付加します。

/O 行頭にパターンにマッチした行の先頭のオフセットアドレス(ファイルの先頭からのバイト数-1)が表示されます。

 

/N/Oオプションは、gnu grep)の-n-bオプションとよく似た出力を生成します。両方を指定すると、次のように、ファイル名、行番号、オフセットアドレスの順番で表示されます。

 

C:\test.txt:51:1968:書きたいことを書くことだけで満足できず、

 

/V 通常はパターンにマッチする行が表示されますが、このオプションを指定すると、パターンにマッチしない行が表示されます。

/P 印刷不可能な文字を含むファイルをスキップします。

/OFFLINE オフライン属性付きのファイルをスキップしません。Windows XPで追加されたオプションのようです。Windows 2000以前のバージョンでは指定しないでください。

/? indstrコマンドのヘルプメッセージを表示します。このオプションを指定すると、他のオプションは指定できなくなります。ヘルプメッセージには、findstrで使える正規表現についての簡単な説明が含まれています(grep-Gとほぼ同等)。

検索方法

このページには、主として検索方法に影響を与えるオプションが含まれています。

 

 

/B パターンが行頭でマッチしたときに限りマッチと見なします。

/E パターンが行末でマッチしたときに限りマッチと見なします。

/X 行にパターンが含まれるのではなく、行とパターンが完全にマッチしたときに限り、マッチと見なします。/B/Eを同時に指定したのと同じ意味になります。

/I パターンが英文のとき、大文字と小文字を区別せずに照合します。たとえば、パターンとして「abc」を指定したとき、ファイルに「ABC」という文字列を含む行があれば、それはパターンを含む行と見なされます。

/L 正規表現を使わず、find)と同じように検索パターンが文字通りに含まれる行を探します。

/R 正規表現を使います。/C/Gオプションを指定していなければ、いちいち指定する必要はありません。/C/Gオプションを指定しているときには、このオプションを指定すると、パターンが正規表現として解釈されます。

/S サブディレクトリも探します。たとえば、入力ファイルとしてc:\*.txtを指定した場合には、c:\worksc:\works\work1などのディレクトリに含まれる*.txtファイルも検索します。

出力

通常、出力ファイル名を指定する必要はありません。指定しなければ、出力は一時ファイルに書き込まれ、その一時ファイルが指定されたテキストエディタによってオープンされます。しかし、ファイル名を指定すれば、出力はそのファイルにリダイレクトされ、テキストエディタにもそのファイルが渡されます。また、中央のエディットボックスにファイル名が表示され、その下の「追加」チェックボックスをチェックできるようになります。「追加」チェックオックスをチェックすると、そのファイルの元の内容の末尾に出力を書き足します。出力の指定方法の詳細は、「出力の指定」を参照してください。

コマンド行

出力グループボックスの下の行には、組み立てたコマンド行が表示されます。(pipeline)の「編集」ボタンで起動したときを除き、コマンド行の左側の四角形をマウスでクリックしてドラッグしていくと、他のcmdline)にドロップできます。また、「コピー」ボタンを押すと、コマンド行情報がクリップボードにセットされます。クリップボードにコマンド行情報がセットされているときに、マウスの右ボタンをクリックし、コンテキストメニューから「貼り付け」を選択すると、クリップボードのコマンド行情報が反映されます。ドラッグアンドドロップとコピーアンドペーストの詳細は、「ドラッグアンドドロップとコピーアンドペースト」を参照してください。エキスポート、インポートされるときのコマンド行情報の形式については、「コマンド行情報のやり取りの仕組み」を参照してください。さらに、ダイアログボックス上でマウスの右ボタンを押したときに表示されるコンテキストメニューの「.batロード」、「.bat保存」コマンドを使えば、同じ形式のコマンド行情報を.batファイルとして保存し、あとでロードすることができます。このロード、保存機能の詳細は、「.batファイルのロードと保存」を参照してください。

作業ディレクトリの設定

作業ディレクトリを表示しているエディットボックスを直接編集したり、マイコンピュータ、エクスプローラなどからフォルダを1つだけドロップしたりすると、作業ディレクトリを変更できます。「ChDir」ボタンでも、作業ディレクトリを設定できます。作業ディレクトリの設定が必要になるのは、入力ダイアログボックスの「直接指定する」を使うときです。詳しくは、「作業ディレクトリ」を参照してください。

設定

設定」ボタンを押すと、「設定」ダイアログボックスが表示されます。このダイアログボックスでは、

 

*出力の表示に使うテキストエディタ

*検索パターンファイルの編集に使うテキストエディタ

*エクスプローラなどからファイルやフォルダをドロップしたときの確認メッセージの有無

*出力の末尾に実行したコマンド行、実行時間などを付加するかどうか

 

を指定できます。詳しくは、「設定ダイアログボックス」を参照してください。

opt保存

opt保存」ボタンを押すと、「オプション」グループボックス内の設定が保存されます。詳しくは「オプション保存」を参照してください。