Probleme beim Verwenden der Windows-Suche zum Suchen nach Dateien mit einem Fragezeichen im Inhalt

15

Es scheint, dass die Windows-Suche Probleme hat, wenn ich ein Fragezeichen als Inhalt in meinen Dateien eingebe.

Ich habe es versucht:

  • Inhalt:?
  • Inhalt:"?"
  • Inhalt:"\?"
  • Inhalt:\?
  • Inhalt:% 3f
  • Inhalt: "% 3f"
  • Inhalt: \ 3f
  • Inhalt: "\ 3f"
  • Inhalt: \ 00 \ 00 \ 00 \ 3F

aber jede dieser ergaben keine ergebnisse wenn ich tatsächlich dateien habe die enthalten? im Rahmen der Suche. Wenn ich stattdessen nach so etwas wie content: happy suche, werden tatsächlich alle Dateien mit dem Ausdruck "happy" in denselben Dateien gefunden.

Ich gehe davon aus, dass Windows Search einige Zeichen wie z. B. das Fragezeichen als Sonderzeichen behandelt, wahrscheinlich zum Zweck von Platzhalterausdrücken. Um diese Theorie zu testen, habe ich auch nach Dateien gesucht, die ein Sternchen * enthalten, und tatsächlich habe ich das gleiche Problem wie bei der Suche nach Inhalten von Fragezeichen. Was ich mich frage, ist, ob es eine Möglichkeit gibt, eine Suche zum Laufen zu bringen, bei der ich nach einem wörtlichen Ausdruck suchen kann, ohne dass ein Platzhalterzeichen gefunden wird, oder zumindest eine Möglichkeit, die Sonderzeichen innerhalb des Ausdrucks zu umgehen.

Übrigens verwende ich Windows 7 Enterprise.

jpierson
quelle

Antworten:

12

Versuchen Sie es mit ~ =? wo ? ist der Charakter, den Sie suchen.

Monkerdermatologist
quelle
4
Ausgezeichnet! Inhalt: ~ =? verschönern gearbeitet! Woher kamen Sie aus Neugier die Idee, ~ = als Fluchtsequenz zu verwenden?
Jpierson
Ich versuche nach "my_string" zu suchen. Es scheint, als würde der Unterstrich ein Leerzeichen oder ein Komma oder etwas anderes sein und mir alles zeigen, was entweder "mein" oder "Zeichenfolge" oder beides enthält.
Shavais
Wie kann ich damit nach Dateien in einer Datei suchen? Zum Beispiel:content:"reports.asp"
John Odom
Die Windows-Suchsyntax enthält viele Sonderzeichen, sodass Sie die meisten davon in Anführungszeichen setzen müssen, um zu vermeiden, dass sie interpretiert werden. Siehe msdn.microsoft.com/en-us/library/bb266512(v=vs.85).aspx . Jedoch, ? und * werden, ob angegeben oder nicht, immer als DOS-Platzhalter interpretiert. * für alle Zeichen? für 1 char. Wenn Sie im Windows Explorer auf die Adressleiste klicken, wird die Suche von Windows in die tatsächliche Abfragesyntax konvertiert. ? und * werden interpretiert als crumb = filename% 3A ~?% 20OR% 20System.Generic.String% 3A? (Forts.) unten
Mr_Moneybags
Dies filename:~?bedeutet, dass Sie als DOS-Platzhalter nach Dateinamen suchen, die mit einem beliebigen Zeichen beginnen (im Wesentlichen mit jeder Datei!). OR System.Generic.String:?Bedeutet ODER irgendeine Dateieigenschaft / Inhalt, der ein WORT hat, mit dem wörtlich begonnen wird? Mein Rat, lesen Sie die AQS-Dokumentation und klicken Sie auf die Adressleiste, um zu sehen, wie Windows Search den AQS neu interpretiert. Beachten Sie auch standardmäßig die Eigenschaften der String-Datei (Dateiname, Autor usw.). Standardmäßig wird mit WORD_STARTSWITH gesucht $<, also mit jedem Wort, das mit Ihrem Suchbegriff beginnt. Andere Nicht-String-Eigenschaften (Daten usw.) suchen mit EQUAL=
Mr_Moneybags
6

Es sieht so aus, als hätte Microsoft die Möglichkeit entfernt, nur nach Sonderzeichen zu suchen . Um nach Sonderzeichen zu suchen, muss auch ein Wort enthalten sein ( Example: Who?). Auch hier muss es ein Wort geben , nicht nur einen Platzhalter mit dem Sonderzeichen. Dies liegt daran, dass die Windows-Suche die Sonderzeichen mit Ausnahme der Platzhalter ignoriert. Auf dieser Seite mit Suchtipps und -tricks sind die einzigen in der Windows-Suche verfügbaren Platzhalter Sternchen und Fragezeichen. Es scheint jedoch, dass das einzige, was funktioniert, der Stern ist. Auch wenn Sie sein Beispiel ausprobieren s?n, finden Sie es auf derselben Seite.

Hier ist ein Zitat aus einem Beitrag in den Vista64-Foren: ( Quelle )

Eigentlich ist das Problem ein bisschen anders. Die Suche ist jetzt wortbasiert und nicht mehr zeichenbasiert . Klammern werden von der Suche als Interpunktion betrachtet, nicht als Platzhalter. Um aussagekräftige Ergebnisse zu erhalten, müssen Abfragen mit Satzzeichen auch Wörter, Ausdrücke oder Platzhalter enthalten . Wenn ich zum Beispiel danach suche: [*]oder danach: {*}Ich erhalte eine Reihe von Dateien, deren Dateiname einen Satz in Klammern enthält, genau wie ich es erwartet hätte. Also probieren Sie es aus.

SgtOJ
quelle
1
Leider glaube ich nicht, dass Ihre Erklärung völlig korrekt ist. Als ich nach Inhalten gesucht habe: "bark?" Ich stimme mit Dokumenten überein, die beide bellen? und nur in ihnen bellen. Es sieht also so aus, als ob die Zeichensetzung einfach ignoriert wird.
jpierson
Sir, richtig. Das ist, was ich gesagt habe. Aus meiner Antwort: Das liegt daran, dass die Windows-Suche die Sonderzeichen mit Ausnahme des Platzhalters ignoriert .
SgtOJ
1
... Ich habe meine Antwort nicht nur mit einem Fragezeichen auf Ihr Problem zugeschnitten. Stattdessen erklärt meine Antwort, was los ist, alle Sonderzeichen mit Ausnahme des Platzhalterzeichens - das Sternchen. Bitte beachten Sie, ich sage nicht, dass es einen Platzhalter gibt, aber ich habe festgestellt, dass nur der Stern als Platzhalter fungiert. Bitte lassen Sie mich wissen, wenn Sie eine andere finden, damit meine Antwort aktualisiert werden kann.
SgtOJ
4

In Windows 7 hatte ich ein ähnliches Problem, nur ich habe versucht, nach Schlüsselwörtern in eckigen Klammern zu suchen ("[" wurde ebenfalls ignoriert, ähnlich wie "?", "(", "]" Usw.). Was hat funktioniert? für mich ist das folgende:

Dateiname:"*[Cumbia]*" OR filename:"*[Reggae]*"

Dies würde alle meine Songs finden, die ich mit der Textzeichenfolge [Cumbia]oder [Reggae]innerhalb der Dateinamen getaggt habe . Was ich dann tun würde, ist, alle Dateien auszuwählen und dann mit der rechten Maustaste auf die Auswahl zu klicken, um die Sendto-Funktion aufzurufen, mit der alle Songs an mein Musik-Player-Programm (in diesem Fall Winamp) gesendet werden.

Scott Cedars
quelle
Ausgezeichnet. Verwenden filenamestatt Verwenden contenthat bei mir funktioniert. Ich habe versucht, doppelte Dateien mit der Datei (1) .jpg und der Datei (2) .jpg zu filtern, und diesen Ausdruck filename: "*(1)*"und verwendet filename: "*(2)*".
Lucky
2

Versuchen Sie, content: ~="?"oder extension: ~="?"was auch immer für ein Sonderzeichen Sie in den Zitaten usw. suchen.

Chris Lottes
quelle
1

Ich verwende keine Windows-Suche, frage mich jedoch, ob die in diesem Microsoft-Artikel beschriebenen Escape-Zeichen unterstützt werden:

Verwenden des Suchprotokolls

In diesem Fall können Sie versuchen, %3fdas Fragezeichen zu verwenden.

Harrymc
quelle
Ich habe Ihren Vorschlag ausprobiert und nach% 3f, Inhalt:% 3f und Inhalt: "% 3f" gesucht, aber ohne Erfolg. Ich habe auch Kombinationen mit Wildcards ausprobiert, aber immer noch kein Glück. Trotzdem danke für den Vorschlag.
Jpierson
1

Verwenden Sie einfach Powershell, um nach Dateiinhalten zu suchen:

Get-ChildItem -recurse | Select-String -pattern "dummy" | Gruppenpfad | Name auswählen

user2257658
quelle
Obwohl ich die Frage nicht direkt beantwortete, gab mir dies genau das, was ich als Alternative brauchte, danke! Ich muss mehr PowerShell lernen.
Mark Adamson