なぜか検索できない文字でWindowsファイル検索する謎テクニック
「Windowsで、ファイル名に「☆」が入っているファイルを検索する方法、わかりますか?」 実は、ただ検索欄に「☆」と入力しても、検索結果にすべてのファイルが表示されてしまいます(「+」や「。」などでも同様)。変な検索方法を調べて、いろいろなパターンを試し続けた結果、謎テクニックで回避できると分かったのですが、Windowsファイル検索テクニックの世界にはかなり独特の世界が広がっていると同時に、ろくな資料が見当たらないことも分かりました。というわけで今回は、「☆」の検索を通じて、「なぜか検索できない」を解決するテクニックを紹介します。
正解例を見て、衝撃を受けたり、「???」という感想を共感してもらえたら嬉しいです。
目次
なぜか検索できない
試しに、次の図のように、「A.txt」や「A☆.txt」というファイルを用意しました。
さて、「☆」が含まれるファイルを検索するために、検索ボックスに「☆」と入力した結果がこちらです。
何も変わっていない!!!ということが分かります。
そう、なぜか「☆」のような、それほど特別でない文字で検索したときに、なぜか検索できないのです。これが、「あ」なら問題ありません。
もしここで「A☆」と検索してみると、次のような結果になります。
なぜか「A」だけ認識され、「☆」が無視されています。
逆に言えば、選ばれた文字でしか検索できない?
実は、「☆(星マーク)」でなくても、「○(丸)」や「△(三角形)」もうまく行きません。
さらには、「、(句点)」「。(読点)」でもダメです。
半角でも、「+」ですら検索できません。
正直、検索できる文字列がかなり限定されていることがわかります。
今回は、その制限を大幅緩和して、いろいろな文字で検索できるようにします。
今回のお題
「こんなとき、どうやって「☆」を検索しますか?」を今回のお題にします。
いろいろな検索結果(失敗)
いろいろな発想で、「☆」を検索してみましょう。
「"☆"」
ちょっと詳しい人の発想で「ダブルクオート(")」をつかって「"☆"」で検索するとこうなります。
全く効果はありません。
「\☆」
「エスケープ」という言葉を知っている人は「バックスラッシュ(\)」を使って「\☆」と検索するかも知れません(どうして画像だと円マークなの、は略)。
「\」は意図した動作をせず、検索結果なしになります。
その他
同様に、いろいろな発想で「*☆*」「*☆」「~☆」「'☆'」などとしても、全く効果がありません。
その場しのぎで「☆.txt」としても、やはりダメです。「名前:☆」でも一緒です。そもそも「☆」の扱いが謎なのです。
普通の発想ではダメ
正直、何も知らずに、Google検索などで見かけるような検索方法を使っても、進展はまるでありません。
私がたどり着いた結果をこれから紹介しますが、正直、今までの経験からあまりにかけ離れていて、意味が分かりませんでした。
その衝撃や、「???」が共感してもらえたら嬉しいです。
いろいろな検索結果(まぁまぁ)
さて、では検索に成功する例を紹介します。
もう、どうしてうまく行くか説明しようにも、ちゃんとした資料が見つからず、ちゃんとした仕組みの説明ができないのですが、海外フォーラムの「~(チルダ)」を検索するテクニックを参考に組み立ててみると、こうなりました。
「~*☆*」
「~(チルダ)」で開始して、アスタリスクで挟んだ☆を配置します。その結果がコチラ。
見事成功です。意図通りの検索結果が表示されます。
ただし、ワイルドカードの効果でファイル名全体がハイライト表示になってしまっており、ちょっと惜しい感じです。
「~"*☆*"」
同様に、「~"*☆*"」も同じ結果になります。結果は正しいのですが、ハイライトが惜しい。
「~"*☆」
ここで分かってきたかと思いきや、意外なことに「~"*☆」でも同じ結果になります。
「~*☆」
ここで「~*☆」としてみると、こうなります。
検索結果が正しい一方で、今度はハイライトがありません。
一番良いやりかた:「~=」を使う
実はこのあたりを単純に弄っていても進歩がありません。というわけで、次の、また別の謎テクニックが出てきます。
「~=☆」
「~=(チルダイコール)」の後ろに「☆」をつけた「~=☆」で検索してみます。
見事、完璧な検索結果を得ることができました。
謎テクニック チルダイコール
この「チルダイコール」は、いろいろな「なんで検索できないの?」な場面で使えるので、覚えておいて損はないと思います。
この「~=」の意味については、「contains(含む)」の意味だとWindowsのページに書かれているのですが、普通の検索もcontainsみたいなものじゃなかったの?という気がしてしまいます(たぶん、検索ワードの前後の扱いが特別だからcontainsとは違ってあくまで全体一致、ということなのかな)。どちらにしても、これで突然検索できない文字が使えるようになる意味は全く分かりません。ただ、うまくいくテクニックとして、書いておくことにしました。
まとめ
Windowsで、「どうして検索できないんだ!」と思ったときは、この「~=」のことを思い出してみてください。謎テクニックですが、かなり強力です。