Windows Searchを使用してコンテンツに疑問符が含まれるファイルを検索しようとすると問題が発生する


15

ファイル内で検索するコンテンツとして疑問符を指定すると、Windows Searchで問題が発生しているようです。

私はもう試した:

  • コンテンツ:?
  • コンテンツ:"?"
  • コンテンツ:"\?"
  • コンテンツ:\?
  • 内容:%3f
  • コンテンツ:「%3f」
  • コンテンツ:\ 3f
  • 内容:「\ 3f」
  • 内容:\ 00 \ 00 \ 00 \ 3F

しかし、実際に?を含むファイルがある場合、これらのそれぞれは結果を生成しません。検索の範囲内。代わりにcontent:happyのようなものを検索すると、同じファイル内でフレーズ「happy」を含むすべてのファイルが実際に見つかります。

私の想定では、Windows Searchは疑問符などの一部の文字をワイルドカード表現の目的で使用される可能性のある特殊文字として処理しています。この理論をテストするために、アスタリスク*を含むファイルも検索しましたが、実際、疑問符の内容を検索するときと同じ問題があります。私が疑問に思っているのは、ワイルドカードの一致のタイプなしでリテラル式を検索できる検索を機能させる方法があるか、または少なくとも式内の特殊文字をエスケープする方法があるかどうかです。

ところで、私はWindows 7 Enterpriseを使用しています。

回答:


12

〜=?を試してください どこ ?あなたが探しているキャラクターです。


4
優秀な!内容:〜=?美しく働いた!好奇心から、エスケープシーケンスとして〜=を使用するというアイデアを得たのはどこですか?
jpierson

「my_string」を検索しようとしています。アンダースコアをスペース、カンマ、または何かとして扱い、「my」または「string」、あるいはその両方を含むすべてを表示しているようです。
シャヴェ14

これを使用してファイル内のファイルを検索するにはどうすればよいですか?例:content:"reports.asp"
ジョンオドム14年

Windowsの検索構文には多くの特殊文字が含まれているため、それらが解釈されるのを避けるためにそれらのほとんどを引用する必要があります。msdn.microsoft.com/en-us/library/bb266512(v=vs.85).aspxを参照してください。しかしながら、 ?引用符付きまたは引用符なしの*は、常にDOSワイルドカードとして解釈されます。*すべての文字、?1文字。Windowsエクスプローラーのアドレスバーをクリックすると、Windowsが検索を実際のクエリ構文に変換することがわかります。?および* crumb = filename%3A〜?%20OR%20System.Generic.String%3A?(続き)以下
Mr_Moneybags

これfilename:~?は、DOSワイルドカードとして検索し、任意の1文字で始まるファイル名(本質的にすべてのファイル!)を意味します。OR System.Generic.String:?は、文字通りWITHで始まるWORDを持つファイルプロパティ/コンテンツを意味しますか?私のアドバイス、AQSのドキュメントを読み、アドレスバーをクリックして、Windows SearchがAQSを再解釈する対象を確認します。また、デフォルトでは、文字列ファイルのプロパティ(ファイル名、作成者など)に注意してください。デフォルトではWORD_STARTSWITH $<で検索するため、検索語で始まる単語はすべて検索されます。EQUALを使用したその他の非文字列プロパティ(日付など)の検索=
-Mr_Moneybags

6

Microsoftが特殊文字のみを検索する機能を削除したようです。特殊文字で検索するには、それに含まれる単語も必要Example: Who?です()。繰り返しますが、ワイルドカードだけでなく、特殊文字を含む単語が必要です。これは、Windows Searchがワイルドカードを除いて特殊文字を無視するためです?このindowsのSearch Tips and Tricksページでは、Windows Searchで使用できるワイルドカードはアスタリスクと疑問符のみです。ただし、機能するのはアスタリスクのみです。s?n同じページページにある例を試してみても。

Vista64のフォーラムへの投稿からの引用です:(ソース

実際、問題は少し異なります。検索は文字ベースではなく単語ベースになりました括弧は、ワイルドカードではなく、検索によって句読点と見なされます。意味のある結果を得るには、句読点を含むクエリにも単語、フレーズ、またはワイルドカードを含める必要がありますたとえば、これで検索する場合:[*]またはこれ:{*}予想どおり、ファイル名に括弧で囲まれたフレーズを含むファイルの束を取得します。試してみてください。


1
残念ながら、あなたの説明が完全に正確だとは思いません。コンテンツを検索したとき:「樹皮?」両方の樹皮があるドキュメントに一致しますか?ただ彼らの中にほえる。したがって、句読点は単に無視されているように見えます。
jpierson

そうです それが私が言ったことです。私の答えから:それは、Windows Search がワイルドカードを除いて特殊文字無視するためです。
SgtOJ

1
...疑問符だけであなたの問題に対する答えを調整しませんでした。代わりに、私の答えは、ワイルドカード文字を除くすべての特殊文字であるアスタリスクがどうなるかを説明しています。ワイルドカードが1つあると言っているわけではありませんが、アスタリスクのみがワイルドカードとして機能することがわかりました。私の答えを更新できるように、あなたが別のものを見つけたら教えてください。
SgtOJ

4

Windows 7では、ファイル名内で角かっこで囲まれたキーワード(「[」も「?」、「(」、「]」などと同様に無視されます)を検索しようとしたときにのみ、同様の問題がありました。私にとっては次のとおりです。

ファイル名:"*[Cumbia]*" OR filename:"*[Reggae]*"

これにより、テキスト文字列[Cumbia]または[Reggae]ファイル名内でタグ付けされたすべての曲が検索されます。次に、すべてのファイルを選択し、選択したものを右クリックしてSendto機能を呼び出し、すべての曲を音楽プレーヤープログラム(この場合はWinamp)に送信します。


優秀な。使用するfilename代わりに使用することcontentは私のために働いた。file(1).jpgとfile(2).jpgを持つ重複ファイルをフィルタリングして、この式filename: "*(1)*"とを使用しましたfilename: "*(2)*"
ラッキー

2

試してみてくださいcontent: ~="?"またはextension: ~="?"など、あなたが引用で探しているか、特別なものは何でも文字


1

私はWindows Searchを使用していませんが、このMicrosoftの記事で説明されているようにエスケープ文字をサポートしているかどうか疑問に思います:

検索プロトコルを使用する

存在する場合は、%3f疑問符に使用してみてください。


あなたの提案を試し、%3f、content:%3f、content: "%3f"を検索しましたが、役に立ちませんでした。ワイルドカードとの組み合わせも試しましたが、それでも運はありません。とにかく提案をありがとう。
jpierson

1

powershellを使用してファイルの内容を検索するだけです:

Get-ChildItem -recurse | Select-String -pattern "dummy" | グループパス| 名前を選択


質問に直接答えない間、これは私が代わりとして必要とするものを丁度与えた、ありがとう!私はより多くのPowerShellを学ぶ必要があります。
マークアダムソン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.