J'essaie de trouver des fichiers dans Windows 7 qui ont une parenthèse dans le nom du fichier.
Cependant, lorsque je tape (
ou *(*
ou "("
ou *"("*
, je n’obtiens ni rien ni tous les fichiers.
La référence "syntaxe de requête avancée" de Microsoft pour la recherche sur le poste de travail ne mentionne rien à ce sujet.
Ce qui donne?
Utilisez la syntaxe suivante: ~="("
.
~=
est un caractère d'échappement et vous pouvez ensuite mettre un caractère spécial comme (
, &
, ?
etc. entre guillemets.
Je l'ai!
Il me suffisait de taper ceci dans le champ de recherche:
"*(*"
Pour tout problème lié à Windows Search, ma recommandation est double:
Par défaut, les propriétés de fichier de chaîne (nom de fichier, auteur, etc.) recherchent COP_Word_STARTSWITH
$<
, ainsi tout mot (séparé par spaces , - _ () []
et plus) commençant par le terme recherché. D'autres propriétés autres que des chaînes (dates, etc.) recherchent avec COP_EQUAL
=
, ou des correspondances exactes par défaut (aucun caractère générique, *
et ?
ne sont littéraux).
Deuxièmement, si vous recherchez 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 ce que AQS Windows Search a réellement recherché. Vous pouvez ignorer les informations de localisation et le nom d'affichage: il sera codé en pourcentage. Décodez-le sur un site tel que https://www.url-encode-decode.com/
Quatrièmement, non documenté, *
et ?
se comportent de manière imprévisible dans AQS à moins qu’ils ne soient dans une requête ~
COP_DOSWILDCARDS
(ce qui signifie que le non-Word commence par, et les wildcards *
ou ?
sont interprétés). La recherche Windows convertit généralement les recherches en une requête ~
. Par exemple, il semble que les caractères génériques **
et ?
avec des caractères alphanumériques recherchent des propriétés de chaîne avec ~
, mais **
sans alphanumériques ne cherche rien. De même, les requêtes *
uniques dans les requêtes non ~
sont traitées comme des caractères génériques avec COP_Word_STARTSWITH
$<
.
(
AQS search-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users
simplifié crumb=
Bien que (
soit entre guillemets, vous ne regroupez rien lorsque vous utilisez AND
ou OR
. Windows pense donc que vous ne vouliez rien dire.
*(*
AQS crumb=
La plupart des recherches Windows qui commencent par *
windows tentent de convertir en un crumb=~~query_term
(recherche contenant). *
est traité normalement dans une requête contient. Quoi qu'il en soit, dans ce cas, vous génériez un groupe de rien, donc Windows recherche tous les groupes de rien (ou tout!).
"("
AQS crumb=System.Generic.String:"("
Les citations recherchent des phrases exactes (le mot entier ou la propriété doivent correspondre) et sont des caractères littéraux, à l'exception de *
, ?
et ""
deviennent "
. Ceci recherche les mots qui commencent par (
, mais comme les mots ne sont pas (
, il ne recherche que les propriétés qui ne sont que (
.
*"("*
AQS crumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*
Celui-ci est fou, mais Windows Search essaie de convertir le *
préfixé suivi de certains caractères spéciaux en tant que classement par étoiles. 1-13 est 1 étoile. Notez également, d'après mes tests, **
sans aucun caractère alphanumérique avant ou après la recherche de rien au lieu d'un caractère générique et est imprévisible.
Cette requête complète signifie
(1 étoile OR Mot qui ne commence par rien) ET les propriétés qui ne sont que (
. *
ne correspond à aucun autre caractère car la propriété entière doit être (
.
Simplifié, cela signifie 1 fichier étoile appelé (
**
dans la requête affichait pour moi un fichier (
non-une étoile, mais lors du changement du **
en ***
et du retour en **
, le résultat attendu était nul (**
est imprévisible).
~="("
AQS crumb=System.Generic.String:~="("
Cela ne fonctionne pas, Windows semble ne rien trouver si la quantité de recherche est trop intensive. filename:~="("
fonctionne. Recherchez essentiellement un nom de fichier contenant uniquement un (
quelque part
"*(*"
AQS crumb=filename:~~"*(*" OR System.Generic.String:"*(*"
Cela a fonctionné. Le nom de fichier contient *(*
avec des caractères génériques OR toute propriété Word commençant par des caractères génériques et ayant un (
. Notez que ~=
et ~~
mean contient.
Utilisez cette expression pour rechercher avec les noms de fichiers,
filename: "*(1)*"
Cela fonctionnait parfaitement pour trouver 'numéroté'/dupliquer FICHIERS:
name:~"*(1)*"
alternativement , pour trouver des numéros/doublons DOSSIERS utiliser:
kind:folder name:~"*(1)*"
~="("
comme suggéré dans une autre réponse ne fonctionnait pas pour moi dans Windows 10
Dans mon cas, je devais trouver COPIES DE FICHIER /"fichiers numérotés", c'est-à-dire trouver des fichiers avec "(1)" ajouté à la fin du nom du fichier. , par exemple fichiers créés quand/par: