LoginSignup
1
1

More than 3 years have passed since last update.

コマンドでインデックス検索

Last updated at Posted at 2019-08-13

エクスプローラ右上の検索窓にキーワードを入力すると、ファイル名やファイルの中身、なんとエクセルファイルの中身まで検索してくれる優れもの!しかし、ヒットしたファイルパスを文字列で取得するのは難しいそう…

そんな時に使えそうなスクリプトを作ってみました。

スクリプト

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>

インデックス検索なので、一瞬で終わります!!

リンク

コマンドでインデックス検索(複数キーワードに対応) - Qiita

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1