Я пытаюсь найти в Windows 7 файлы с круглыми скобками в имени файла.
Тем не менее, когда я набираю (
или *(*
или "("
или *"("*
я получаю либо ничего, либо каждый файл.
Справочник Microsoft по расширенному синтаксису запросов для поиска на рабочем столе ничего не упоминает об этом.
Что дает?
windows-7
windows
windows-explorer
search
windows-search
Матиас Нино
источник
источник
Ответы:
Используйте следующий синтаксис:
~="("
.~=
является escape-символом, и вы можете поместить специальный символ, например(
,&
и?
т. д. в двойные кавычки.источник
~="~$"
Понял!
Просто нужно было ввести это в поле поиска:
источник
"*$*"
, так как я был на самом деле ищу знаки доллара в именах файлов.) Что сделало работу для меня был~="("
(с кавычками для скобок) и~=$
(без кавычек для знака доллара).Давайте поможем!
Для любых проблем поиска в Windows я рекомендую две вещи:
Во-первых, некоторые основы AQS
По умолчанию свойства строкового файла (имя файла, автор и т. Д.) Выполняют поиск
COP_WORD_STARTSWITH
$<
, поэтому любое слово (разделенноеspaces , - _ () []
и более) начинается с вашего поискового запроса. Другие нестроковые свойства (даты и т. Д.) Выполняют поиск сCOP_EQUAL
=
точными совпадениями или по умолчанию (без подстановочных знаков*
и?
являются буквальными).Во-вторых, если вы выполняете поиск в любом проиндексированном местоположении, то все неиндексированные местоположения в вашем запросе не будут показаны.
В-третьих, нажмите на адресную строку, чтобы увидеть, с чем в действительности осуществлялся поиск AQS Windows Search. Вы можете игнорировать крошки местоположения и отображаемое имя: оно будет кодироваться в процентах, поэтому декодируйте на сайте, таком как https://www.url-encode-decode.com/
В-четвертых, не документированы
*
и?
ведут себя непредсказуемо в AQS, если только они не находятся в~
COP_DOSWILDCARDS
запросе (то есть не-слово начинается с и подстановочных знаков*
или?
интерпретируются). Поиск в Windows обычно преобразует запросы в~
запрос. Например, кажется, что подстановочные знаки**
и?
с алфавитно-цифровыми символами поиск свойства строки с~
, но**
без буквенно-цифровых символов ничего не ищет. Кроме одного*
в не~
запросы рассматриваются в качестве шаблона сCOP_WORD_STARTSWITH
$<
.Давайте проанализируем ваши запросы
(
AQSsearch-ms:displayname=Search Results in Users&crumb=&crumb=location:C:\Users
Упрощенныйcrumb=
Ну, без кавычек
(
это оператор группировки, когда вы используетеAND
илиOR
, вы ничего не сгруппировали, поэтому Windows считает, что вы имели в виду, что группа ничего не ищет во всем.*(*
AQScrumb=
Большинство поисков окон, которые начинаются с
*
окон, пытаются преобразовать вcrumb=~~query_term
(поиск содержит).*
обрабатывается как обычно в запросе содержимого. В любом случае, в этом случае вы указываете группу ничто, поэтому Windows ищет все группы ничего (или все!)"("
AQScrumb=System.Generic.String:"("
Котировки искать точные фразы (всего слова или свойства должны соответствовать) и буквенные символы для исключением
*
,?
и""
стать"
. Это ищет слова, которые начинаются с(
, но так как слова не являются,(
он ищет только свойства, которые просто(
*"("*
AQScrumb=Rating:(>=1 <13) OR System.Generic.String:** System.Generic.String:"("*
Это безумие, но Windows Search пытается преобразовать префикс с*
последующими определенными специальными символами в звездные рейтинги. 1-13 это 1 звезда. Также обратите внимание на мое тестирование,**
без каких-либо буквенно-цифровых символов до или после него ничего не ищет вместо подстановочного знака и непредсказуемо.Этот полный запрос означает
(1 звездный рейтинг ИЛИ Слово, которое начинается с нуля) И свойства, которые просто
(
.*
не будет соответствовать никаким другим символам, потому что все свойство должно быть(
.Упрощенно это означает, что 1 звездные файлы называются
(
**
в запросе на самом деле показал звезду , не один(
файл для меня, но при изменении направления**
к***
и обратно**
это дало ожидаемый никаких результатов (**
непредсказуемо)Другие ответы
~="("
AQScrumb=System.Generic.String:~="("
Это не сработало, окна, похоже, ничего не нашли, если объем поиска слишком интенсивный.
filename:~="("
работает. По сути, найти имя файла, который содержит только(
где-то"*(*"
AQScrumb=filename:~~"*(*" OR System.Generic.String:"*(*"
Это сработало. Имя файла содержит*(*
символы подстановки ИЛИ любое слово свойства, которое начинается с символов подстановки и имеет(
. Обратите внимание, как~=
и~~
среднее содержит.источник
Это работало идеально, чтобы найти «пронумерованные» / дубликаты файлов :
name:~"*(1)*"
альтернативно , чтобы найти пронумерованные / повторяющиеся ПАПКИ, используйте:
kind:folder name:~"*(1)*"
~="("
как предложено в другом ответе не работает для меня в Windows 10В моем случае мне нужно было найти ФАЙЛОВЫЕ КОПИИ / «пронумерованные файлы», то есть найти файлы с «(1)», добавленными в конец имени файла, например, файлы, которые создаются, когда:
источник
filename:~"*TEXT*"
где TEXT является точным вводом со специальными символами. Верхний ответ не работал, я не мог заставить его работать с кавычками или без них, со звездочками или без них.Используйте это выражение для поиска по именам файлов,
источник
Используйте это в поле поиска:
источник
~ "* (?). *" для дубликатов, не превышающих (9), просто добавить еще один? для 2 цифр. Но будьте осторожны, используя * вместо? Это значительно расширяет поиск, и результаты могут больше не быть желательными.
источник