やりたいこと
「lib」という拡張子のファイルのみを検索し、フォルダはヒットしてほしくない。
C++のライブラリPJが吐いた、例えば「aaaa.lib」を検索したいときに、VisualStudioのソリューションの一番上の階層で下記のワクに「lib」と入れると、拡張子が.lib
のファイル以外に、「lib」という名前のフォルダまでヒットしてしまい、とても検索しづらい。
どうにか拡張子が.lib
のファイルだけ、出てきてほしい。
やり方
~=".lib" NOT kind:Folders
と、検索窓に書けばいい。
~=".dll" NOT kind:Folders
とやれば、dllファイルだけ出てくる。
AQSについて
NOT kind:Folders
の部分は「Advanced Query Syntax」略してAQS
というもので、何かを検索するときのやり方。
Microsoftが勧めてるやり方とのことで、以前、Bluetoothで通信範囲内に居る機器をリストupするときに、指定した条件にあう機器をリストに入れるというときに、AQSを使ったことがある。
その時の内容は下記。
[C#/WinRT]Bluetooth v4(BLE)機器と通信する(C#で実装メモ)
https://qiita.com/tera1707/items/5505ed22b5ddf93795f4
余談(Windowsの検索窓について)
今回の内容に直接関係ないが、調べるうえで通った下記のページの内容が、個人的に「おーそうなんだ」となった。
なぜか検索できない文字でWindowsファイル検索する謎テクニック
https://did2memo.net/2014/03/07/windows-file-search-unsearchable-character/
前々から、下記のワクで、ファイルとかフォルダとかを検索しようとしたときに「なんか使いづらいなー、思ったのが出てこないなー、というより、思ったの以外のものがいっぱい出てきて見づらいなー」と感じていたが、その感覚が正しかったことがこのページの内容ではっきりした。
このページによると、結構、検索できない文字とかがある様子。
「☆」など、そのままでは検索に使えない文字で検索をしたいときは、今回出てきた~=".lib"
を使えばよいとのこと。
その他、見つけたいろいろな検索の仕方
ある文字列を含む名前のフォルダを検索したい(名前は完全一致)
例えば、VisualStudioのソリューションがまとまったフォルダの中から、
x64フォルダとDebugフォルダを全部検索したいときなど。
→名前:=x64 OR 名前:=Debug kind:folders
結果
ある文字列を含む名前のフォルダを検索したい(名前は部分一致)
x64フォルダとDebugフォルダを全部検索したいが、例えばx64については、
「win-x64」や「win10-x64」フォルダも含ませたいときなど。
→名前:x64 OR 名前:Debug kind:folders
これを使えば、配下のbinとobjフォルダを全部消したいとき、とかに、使える。
※ただし、👆で検索→全選択して削除、とすると、消そうとしているふぉるだの中にさらに消そうとしているフォルダがあったりした場合にエラーになるが、その場合は「スキップ」を選んでやれば、結果的に全部消えてくれる。
参考
【Windows】ファイル検索の結果にフォルダを表示しない方法
https://did2memo.net/2014/06/24/windows-file-search-not-kind-folders/
Advanced Query Syntax
https://docs.microsoft.com/en-us/windows/win32/lwef/-search-2x-wds-aqsreference?redirectedfrom=MSDN