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