web-dev-qa-db-ja.com

Windows 7では、ファイル名に特殊文字が含まれているファイルを検索しますか?

ファイル名に括弧が含まれているWindows 7のファイルを検索しようとしています。

ただし、(または*(*または"("または*"("*何もないか、すべてのファイルが表示されます。

Microsoftのデスクトップ検索に関する「高度なクエリ構文」リファレンスでは、これについては何も言及されていません。

何ができますか?

25
Matias Nino

次の構文を使用します:~="("

~=はエスケープ文字なので、(&?などの特殊文字を二重引用符で囲むことができます。

27
Malik Ali

とった!

これを検索ボックスに入力するだけでした:

"*(*"
5
Matias Nino

助けよう!

Windows Searchの問題については、次の2つをお勧めします。

  1. AQS(高度なクエリ構文)のドキュメント を読んで、すべての特殊文字の機能を理解してください。
  2. Windows Searchがクエリを正確なAQSに変換することを知ってください。クエリで特定されない限り、Windowsは実際のAQSを推測します。結果は驚くべきことです!

まず、AQSの基本のいくつか

デフォルトでは、文字列ファイルのプロパティ(ファイル名、作成者など)はCOP_Word_STARTSWITH$<で検索するため、次の文字で始まるすべてのWordspaces , - _ () []などで区切られています)検索語。その他の文字列以外のプロパティ(日付など)は、デフォルトでCOP_EQUAL=、または完全一致で検索します(ワイルドカードなし、*および?はリテラルです)。

次に、anyインデックス付きの場所で検索している場合、クエリ内のすべての非インデックス付きの場所は表示されません。

3番目に、アドレスバーをクリックして、AQS Windows Searchが実際に検索した内容を確認します。場所のクラムと表示名は無視できます。これはパーセントエンコードされるため、 https://www.url-encode-decode.com/ のようなサイトでデコードします。

第4に、ドキュメント化されていない*および?は、~COP_DOSWILDCARDSクエリ(つまり、non-Wordで始まり、ワイルドカード*または?が解釈される)でない限り、AQSで予期せぬ動作をします。 Windows検索は通常、検索を~クエリに変換します。たとえば、英数字を含む**および?は、~を含む文字列プロパティを検索しますが、英数字を含まない**は何も検索しません。また、*以外のクエリの単一の~は、COP_Word_STARTSWITH$<を使用してワイルドカードとして扱われます。

クエリを分析しましょう

  1. ( AQS search-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users簡略化されたcrumb=

    まあ、引用符で囲まれていない(は、ANDまたはORを使用する場合のグループ化演算子です。何もグループ化していないので、Windowsは、何も検索せずにグループ化するつもりはないと考えています。

  2. *(* AQS crumb=

    *ウィンドウで始まるほとんどのウィンドウ検索は、crumb=~~query_term(aを含む検索)に変換しようとします。 *は、containsクエリでは通常どおり処理されます。とにかく、この場合は、何もないグループをワイルドカードにするため、Windowsは何もないグループ(またはすべて!)をすべて検索します。

  3. "(" AQS crumb=System.Generic.String:"("

    引用符は完全に一致する語句を検索し(Wordまたはプロパティ全体が一致する必要があります)、*を除くリテラル文字であり、?および"""になります。これは、(で始まる単語を検索しますが、単語は(ではないため、(であるプロパティのみを検索します

  4. *"("* AQS crumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*これはおかしいですが、Windows Searchは、接頭辞付きの*に続いて特定の特殊文字をスター評価として変換しようとします。 1-13は1つ星です。また、私のテストから、ワイルドカードの代わりに何も検索せず、予測の前または後に英数字を含まない**に注意してください。

    この完全なクエリは、

    (1つ星評価OR何も始まらない単語)ANDプロパティは、(だけです。*は、プロパティ全体が(でなければならないため、他の文字と一致しません。

    簡略化すると、(と呼ばれる1つ星のファイル

    クエリの**は実際には1つ星ではない(ファイルを示していましたが、*****に変更して**に戻すと、予期した結果が得られませんでした(**は予測不能です)

他の答え

  1. ~="(" AQS crumb=System.Generic.String:~="("

    これは機能しませんでした。検索の量が多すぎる場合、ウィンドウは何も見つけられないようです。 filename:~="("は機能します。基本的に、(のみを含むファイル名をどこかに見つける

  2. "*(*" AQS crumb=filename:~~"*(*" OR System.Generic.String:"*(*"これはうまくいきました。ファイル名にワイルドカードを含む*(*が含まれるORワイルドカードで始まり、(を含む任意のプロパティWord。注、~=~~はどちらも含む.

4
Mr_Moneybags

この式を使用して、ファイル名で検索します。

filename: "*(1)*"
0
Lucky

これは「番号付き」/重複を見つけるために完全に機能しました[〜#〜] files [〜#〜]

name:~"*(1)*"

または、番号付き/重複を検索する[〜#〜]フォルダ[〜#〜]使用する:

kind:folder name:~"*(1)*"


~="("別の回答で提案されているように、Windows 10では機能しませんでした

私の場合、FILE COPIES/"numbered files"を検索する必要がありました。つまり、ファイル名の末尾に "(1)"が追加されたファイルを検索します。次の場合に作成されるファイル:

  1. 同じファイル名のファイルが既に存在するフォルダーにファイルをドラッグ/エクスプローラーでコピーします。
  2. oneDrive、GoogleDrive、DropBoxなどのクラウド同期ストレージソフトウェアで同期の問題または競合が発生し、ファイルの2つのコピーが作成され、1つに「重複ファイル」、「重複ファイル(1)」、「重複ファイル(2 )」など.
0
Flak DiNenno