72065


PowerShellまたはコマンドプロンプトから、`Explorer.exe
C:\hoge`のようにコマンドラインオプションを指定すると`C:\hoge`が表示された状態で起動します。  
またGUI上で画面右上の検索窓をクリックして`*.txt`を入力すると、リボンバーに検索ツールが表示されて現在のフォルダ以下にある`*.txt`ファイルを検索します。

コマンドラインオプションを指定して、特定のキーワード検索した状態で起動することは可能でしょうか？  
手入力で検索を行った状態と同様の表示になる(※)ことが望ましいです。

PowerShellの`ls`や、サードパーティー製のファイラなどを使えばより柔軟な結果が得られることは存じていますが、Windows純正のエクスプローラーに限定した内容をうかがいたいです。  
Explorer.exeのコマンドラインオプションのヘルプや公式資料が見つからず、[SO.jaの類似質問](https://superuser.com/questions/21394/explorer-
command-line-
switches)や[非公式資料](https://smdn.jp/programming/tips/explorer_options/)で検索についての言及がないため、「本当にないのだろうか」という興味からの質問でもあります。

* * *

※  
検索ツールから『リボンバーの検索条件を保存』することで特定条件の`*.search-ms`ファイルを作成できます。  
しかしこれを使うと画面左のツリービューに検索対象パスが書き換わらず、画面上部のパスもsearch-msファイルのパスが表示されます。  
手入力で検索した時は画面上部のパスが`検索場所: hoge`のような表記に変わります。  
エクスプローラーの設定や`*.search-ms`ファイルを書き換えることで、前行の表示を実現できるならば質問の課題は解決します。

下記のPowerShellスクリプトで手入力と同等の結果を求めることはできますが、RPAのGUI操作であり成功率が安定しないため避けたいです。

[code]

    Add-Type -AssemblyName System.Windows.Forms
    $dir = [Environment]::GetFolderPath("Desktop")
    explorer $dir
    sleep 2  # エクスプローラー起動待ち
    [System.Windows.Forms.SendKeys]::SendWait("^f")
    sleep 1  # 検索窓へのフォーカス移動待ち
    [System.Windows.Forms.SendKeys]::SendWait("fuga.piyo")
    
[/code]


CC BY-SA 4.0
2020-11-19T03:21:56.753
72052
2020-11-19T23:20:05.657
2020-11-19T23:20:05.657
9820
9820
question
コマンドプロンプト
Explorer.exeを検索モードで起動するコマンドラインオプション


この検索機能は[Windows Search](https://docs.microsoft.com/en-
us/windows/win32/search/windows-
search)でして検索結果へのアクセス方法は各種APIが用意されて、例えばプログラム的に検索結果を取得することもできます。Explorerで検索結果を表示する方法として[`search-
ms:`プロトコルハンドラ](https://docs.microsoft.com/en-
us/windows/win32/search/-search-3x-wds-qryidx-
searchms)が用意されています。プロトコルハンドラの構文としてはいろいろ指定できますが、無難なところで

[code]

    search-ms:query=検索文字列&crumb=location:フォルダ
    
[/code]

くらいが実用的でしょうか。  
コマンドプロンプトからプロトコルハンドラを実行する方法としては[`start`コマンド](https://docs.microsoft.com/en-
us/windows-server/administration/windows-commands/start)を使用します。  
最終的には

[code]

    C:\> start search-ms:"query=fuga.piyo&crumb=location:C:\Temp"
    
[/code]

のようになるでしょうか。


CC BY-SA 4.0
2020-11-19T09:10:35.557
72065
2020-11-19T09:10:35.557
4236
72052
answer