ファイル名に括弧が含まれているWindows 7のファイルを検索しようとしています。
ただし、(
または*(*
または"("
または*"("*
何もないか、すべてのファイルが表示されます。
Microsoftのデスクトップ検索に関する「高度なクエリ構文」リファレンスでは、これについては何も言及されていません。
何ができますか?
次の構文を使用します:~="("
。
~=
はエスケープ文字なので、(
、&
、?
などの特殊文字を二重引用符で囲むことができます。
とった!
これを検索ボックスに入力するだけでした:
"*(*"
Windows Searchの問題については、次の2つをお勧めします。
デフォルトでは、文字列ファイルのプロパティ(ファイル名、作成者など)はCOP_Word_STARTSWITH
$<
で検索するため、次の文字で始まるすべてのWord(spaces , - _ () []
などで区切られています)検索語。その他の文字列以外のプロパティ(日付など)は、デフォルトでCOP_EQUAL
=
、または完全一致で検索します(ワイルドカードなし、*
および?
はリテラルです)。
次に、anyインデックス付きの場所で検索している場合、クエリ内のすべての非インデックス付きの場所は表示されません。
3番目に、アドレスバーをクリックして、AQS Windows Searchが実際に検索した内容を確認します。場所のクラムと表示名は無視できます。これはパーセントエンコードされるため、 https://www.url-encode-decode.com/ のようなサイトでデコードします。
第4に、ドキュメント化されていない*
および?
は、~
COP_DOSWILDCARDS
クエリ(つまり、non-Wordで始まり、ワイルドカード*
または?
が解釈される)でない限り、AQSで予期せぬ動作をします。 Windows検索は通常、検索を~
クエリに変換します。たとえば、英数字を含む**
および?
は、~
を含む文字列プロパティを検索しますが、英数字を含まない**
は何も検索しません。また、*
以外のクエリの単一の~
は、COP_Word_STARTSWITH
$<
を使用してワイルドカードとして扱われます。
(
AQS search-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users
簡略化されたcrumb=
まあ、引用符で囲まれていない(
は、AND
またはOR
を使用する場合のグループ化演算子です。何もグループ化していないので、Windowsは、何も検索せずにグループ化するつもりはないと考えています。
*(*
AQS crumb=
*
ウィンドウで始まるほとんどのウィンドウ検索は、crumb=~~query_term
(aを含む検索)に変換しようとします。 *
は、containsクエリでは通常どおり処理されます。とにかく、この場合は、何もないグループをワイルドカードにするため、Windowsは何もないグループ(またはすべて!)をすべて検索します。
"("
AQS crumb=System.Generic.String:"("
引用符は完全に一致する語句を検索し(Wordまたはプロパティ全体が一致する必要があります)、*
を除くリテラル文字であり、?
および""
は"
になります。これは、(
で始まる単語を検索しますが、単語は(
ではないため、(
であるプロパティのみを検索します
*"("*
AQS crumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*
これはおかしいですが、Windows Searchは、接頭辞付きの*
に続いて特定の特殊文字をスター評価として変換しようとします。 1-13は1つ星です。また、私のテストから、ワイルドカードの代わりに何も検索せず、予測の前または後に英数字を含まない**
に注意してください。
この完全なクエリは、
(1つ星評価OR何も始まらない単語)ANDプロパティは、(
だけです。*
は、プロパティ全体が(
でなければならないため、他の文字と一致しません。
簡略化すると、(
と呼ばれる1つ星のファイル
クエリの**
は実際には1つ星ではない(
ファイルを示していましたが、**
を***
に変更して**
に戻すと、予期した結果が得られませんでした(**
は予測不能です)
~="("
AQS crumb=System.Generic.String:~="("
これは機能しませんでした。検索の量が多すぎる場合、ウィンドウは何も見つけられないようです。 filename:~="("
は機能します。基本的に、(
のみを含むファイル名をどこかに見つける
"*(*"
AQS crumb=filename:~~"*(*" OR System.Generic.String:"*(*"
これはうまくいきました。ファイル名にワイルドカードを含む*(*
が含まれるORワイルドカードで始まり、(
を含む任意のプロパティWord。注、~=
と~~
はどちらも含む.
この式を使用して、ファイル名で検索します。
filename: "*(1)*"
これは「番号付き」/重複を見つけるために完全に機能しました[〜#〜] files [〜#〜]:
name:~"*(1)*"
または、番号付き/重複を検索する[〜#〜]フォルダ[〜#〜]使用する:
kind:folder name:~"*(1)*"
~="("
別の回答で提案されているように、Windows 10では機能しませんでした
私の場合、FILE COPIES/"numbered files"を検索する必要がありました。つまり、ファイル名の末尾に "(1)"が追加されたファイルを検索します。次の場合に作成されるファイル: