エクスプローラ右上の検索窓にキーワードを入力すると、ファイル名やファイルの中身、なんとエクセルファイルの中身まで検索してくれる優れもの!しかし、ヒットしたファイルパスを文字列で取得するのは難しいそう…
そんな時に使えそうなスクリプトを作ってみました。
スクリプト
vbsで実装しました。
test.vbs
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';"
Wscript.Echo "[" & Wscript.Arguments(0) & "]の検索結果は…"
Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.Open "SELECT System.ItemPathDisplay FROM SYSTEMINDEX WHERE Contains('" & Wscript.Arguments(0) & "')", objConnection
Do Until objRecordset.EOF
Wscript.Echo objRecordset.Fields.Item("System.ItemPathDisplay")
objRecordset.MoveNext
Loop
使い方
上記vbsファイルをcmdで実行します。引数の文字列を検索してくれます。
cmd
C:\Users\xxxx\Desktop>cscript test.vbs あいうえお
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.
[あいうえお]の検索結果は…
C:\ユーザー\xxxx\デスクトップ\test.txt
C:\ユーザー\xxxx\デスクトップ\test.xls
C:\ユーザー\xxxx\デスクトップ\test.html
C:\Users\xxxx\Desktop>
インデックス検索なので、一瞬で終わります!!