J'essaie de trouver des fichiers dans Windows 7 qui ont une parenthèse dans le nom de fichier.
Cependant, lorsque je tape (
ou *(*
ou "("
ou *"("*
je ne reçois rien ou tous les fichiers.
La référence de «syntaxe de requête avancée» de Microsoft pour la recherche de bureau ne mentionne rien à ce sujet.
Ce qui donne?
windows-7
windows
windows-explorer
search
windows-search
Matias Nino
la source
la source
Réponses:
Utilisez la syntaxe suivante:
~="("
.~=
est un caractère d'échappement et vous pouvez mettre un caractère spécial comme(
,&
,?
etc. guillemets.la source
~="~$"
Je l'ai!
Juste eu à taper ceci dans la boîte de recherche:
la source
"*$*"
, depuis que je cherchais en fait des signes de dollar dans les noms de fichiers.) Ce qui a fait le travail pour moi était~="("
(avec des guillemets pour parenthèses) et~=$
(sans guillemets pour signe dollar).Allons aider!
Pour tout problème de recherche Windows, ma recommandation est deux choses:
Tout d'abord, quelques notions de base sur AQS
Par défaut, les propriétés de fichier de chaîne (nom de fichier, auteur, etc.) recherchent avec
COP_WORD_STARTSWITH
$<
, donc tout mot (séparé parspaces , - _ () []
et plus) qui commence par votre terme de recherche. Les autres propriétés non-chaîne (dates, etc.) recherchentCOP_EQUAL
=
ou correspondent exactement par défaut (pas de caractères génériques*
et?
sont littérales).Deuxièmement, si vous effectuez une recherche dans un emplacement indexé, tous les emplacements non indexés de votre requête ne seront pas affichés.
Troisièmement, cliquez sur la barre d'adresse pour voir avec quoi la recherche Windows AQS a réellement cherché. Vous pouvez ignorer les miettes d'emplacement et le nom d'affichage: il sera encodé en pourcentage, alors décodez sur un site comme https://www.url-encode-decode.com/
Quatrièmement, non documentés
*
et?
se comportent de manière imprévisible dans AQS, sauf s'ils sont dans une~
COP_DOSWILDCARDS
requête (ce qui signifie que le non-mot commence par et les caractères génériques*
ou?
sont interprétés). La recherche Windows convertit généralement les recherches en~
requête. Par exemple, il semble que les caractères génériques**
et les?
caractères alphanumériques recherchent des propriétés de chaîne avec~
, mais**
sans alphanumériques, rien ne recherche. De même, les*
non-~
requêtes sont traitées comme des caractères génériques avecCOP_WORD_STARTSWITH
$<
.Analysons vos requêtes
(
AQSsearch-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users
simplifiécrumb=
Eh bien, sans guillemets
(
est un opérateur de regroupement lorsque vous utilisezAND
ouOR
, vous n'avez rien groupé, donc Windows pense que vous vouliez dire ne rien grouper pour tout rechercher.*(*
AQScrumb=
La plupart des recherches Windows qui commencent par
*
Windows essaient de se convertir encrumb=~~query_term
(une contient une recherche).*
est traité comme normal dans une requête contient. Quoi qu'il en soit, dans ce cas, vous générez un groupe de rien, donc Windows recherche tous les groupes de rien (ou tout!)"("
AQScrumb=System.Generic.String:"("
Citations rechercher des expressions exactes (le mot entier ou des biens doit correspondre) et sont des caractères littéraux , sauf pour
*
,?
et""
deviennent"
. Cela recherche les mots qui commencent par(
, mais comme les mots ne le sont pas,(
il recherche uniquement les propriétés qui sont juste(
*"("*
AQScrumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*
Celui-ci est fou, mais Windows Search essaie de convertir les préfixes*
suivis de certains caractères spéciaux en étoiles. 1-13 est 1 étoile. Notez également d'après mes tests,**
sans aucun caractère alphanumérique avant ou après qu'il ne recherche rien au lieu d'un caractère générique et est imprévisible.Cette requête complète signifie
(1 étoile OU mot qui commence par rien) ET des propriétés justes
(
.*
ne correspondra à aucun autre caractère car la propriété entière doit l'être(
.Simplifié cela signifie, des fichiers 1 étoile appelés
(
**
dans la requête a en fait montré un(
fichier non une étoile pour moi, mais lors du changement de**
vers***
et en arrière,**
il n'a donné aucun résultat attendu (**
est imprévisible)Les autres réponses
~="("
AQScrumb=System.Generic.String:~="("
Cela n'a pas fonctionné, Windows ne semble rien trouver si la quantité de recherche est trop intensive.
filename:~="("
fonctionne. Trouver essentiellement un nom de fichier qui contient juste un(
quelque part"*(*"
AQScrumb=filename:~~"*(*" OR System.Generic.String:"*(*"
Cela a fonctionné. Le nom de fichier contient*(*
des caractères génériques OU tout mot de propriété commençant par des caractères génériques et comportant un(
. Remarque, les deux~=
et la~~
moyenne contient.la source
Cela a parfaitement fonctionné pour trouver des fichiers numérotés / en double :
name:~"*(1)*"
alternativement , pour trouver des DOSSIERS numérotés / en double, utilisez:
kind:folder name:~"*(1)*"
~="("
comme suggéré dans une autre réponse n'a pas fonctionné pour moi dans Windows 10Dans mon cas, je devais trouver des COPIES DE FICHIERS / "fichiers numérotés", c'est-à-dire trouver des fichiers avec "(1)" ajoutés à la fin du nom de fichier, par exemple des fichiers créés lorsque / par:
la source
filename:~"*TEXT*"
où TEXT est l'entrée exacte avec des caractères spéciaux. La première réponse ne fonctionnait pas, je ne pouvais pas la faire fonctionner avec ou sans guillemets, avec ou sans astérisques.Utilisez cette expression pour rechercher des noms de fichiers,
la source
Utilisez ceci dans le champ de recherche:
la source
~ "* (?). *" pour les doublons ne dépassant pas (9), ajoutez-en simplement un autre? pour 2 chiffres. Mais soyez prudent en utilisant * au lieu de?. Cela élargit considérablement la recherche et les résultats peuvent ne plus être souhaitables.
la source