AQS — продвинутый поиск файлов и папок в Windows

продвинутый поиск файлов в среде windowsПоиск файлов и папок в среде windows после выхода 7й версии довольно сильно изменился по сравнению с тем, что было раньше. В целом когда вам нужно быстро найти файл по его имени всё стало намного удобнее — вводишь в строке имя или его часть, и получаешь результат в течении пары секунд, или минут (как повезет).

Но что делать если задача чуть сложнее? С этой целью был создан язык AQS — advanced query search. Вот о нем и пойдет речь. Официальная документация хотя и крайне подробна, но скупа на рабочие примеры. Попробуем это исравить. Ниже будут примеры применения AQS для поиска  и сортировки файлов и папок в среде Windows старше XP.

Примеры поиска файлов и папок в среде windows

Пример для поиска папок:  найти все папки в которых есть цифры 214

Вот такая запись нам вернет все папки имя которых начинается  с искомого текстового значения.

type:="File Folder" name:~<214

Другой пример

name:214 kind:folders

А тут мы используем тильду, она аналогична * из старого поиска.

type:folder name:~~016

Ищем файлы и папки название которых начинается с «1-T» И содержит символы «I-» , с расширением .ifc

name:~<1-T AND name:~~I- extension:ifc

Как найти файл в 7ке

Как найти все пдф документы в папке в имени которых есть строка:

type:acrobat name:~=тест

другой вариант:

extension:pdf name:~=текст

Пример поиска файлов с сортировкой по размеру: найти все файлы в имени которых есть db и размер больше 128мб

name:db size:gigantic 

Найти все файлы в имени которых есть db а размер больше 100мб и меньше 150мб. Сам размер в таком случае необходимо указывать в байтах.

name:db size:>100000000 AND <150000000

Найти файлы содержащие в тексте слово project. Найти все файлы в тексте которых есть слово project

contents: "project"

Найти все программы

kind:program

Найти все программы в имени которых есть gzip или web

Найти файл в windows

name:gzip OR web kind:program

Этот раздел будет пополняться, по мере появления интересных с практической точки зрения запросов.

Дальше копия офф документации. По мере сил и возможности переведу и дополню комментариями. Или нет. В любом случае смотрите оригинал здесь

Особенности синтаксиса встроенного поиска Windows

Как найти папки в имени которых содержится «@» в среде виндовс?

[~=] — Аналогично по смыслу «строка содержит»

Поэтому запись type:folder name:~=@  — найдет все папки в имени которых содержится искомая строка

If you want to filter on a property that doesn’t appear when you click in the search box, you can use special keywords. This typically involves typing a property name followed by a colon, sometimes an operator, and then a value. The keywords aren’t case sensitive.

Example search terms

System.FileName:~<«notes»
Files whose names begin with «notes.» The ~< means «begins with.»

~< — начинается с текста

запись — [name:~<Test ] вернет все файлы и папки имена которых начинаются с Test

System.FileName:=»quarterly report»
Files named «quarterly report.» The = means «matches exactly.»

System.FileName:~=»pro»
Files whose names contain the word «pro» or the characters pro as part of another word (such as «process» or «procedure»). The ~= means «contains.»

System.Kind:<>picture
Files that aren’t pictures. The <> means «is not.»

System.DateModified:05/25/2010
Files that were modified on that date. You can also type «System.DateModified:2010″ to find files changed at any time during that year.

System.Author:~!»herb»

~! — по смыслу — не содержит.

Files whose authors don’t have «herb» in their name. The ~! means «doesn’t contain.»

System.Keywords:»sunset»
Files that are tagged with the word sunset.

System.Size:<1mb
Files that are less than 1 MB in size.

System.Size:>1mb

Files that are more than 1 MB in size.

Note:

You can use a question mark (?) as a wildcard for a single character and an asterisk (*) as a wildcard for any number of characters.

Вы можете использовать знак вопроса (?) В качестве подстановочного знака для одиночного символа и звездочки (*) в качестве подстановочного знака для любого количества символов.

Краткий ответ: используйте * (звездочка) или ~~ (двойная тильда). Для поиска подстроки в имени файла вы должны поставить * или ~~ спереди. Следовательно, чтобы Windows находила MyFile.tx, вы должны искать * файл * или ~~ файл, а не файл. Подумайте о ~~ как содержащем.

Short answer: Use * (asterisk) or ~~ (double tilde). In order to search for a substring in the file name you must put the * or ~~ in front. Hence, in order to have Windows find the MyFile.txtyou must search for *file* or ~~file and not file. Think at ~~ as containing.

The simple form (without asterisk) searches only at the beginning of the words in file name. Hence searching for file will return File.txtMy File.txtFile 1.txt (aso.) but will not return MyFile.txt.

If you want the complete(?) Advanced Query Syntax have a look here. However I do not see in the AQS page linked the * (any number of characters) ? (just one character) and [ ] (set of characters) wildcards.

Examples:

  • b?r matches bar and bur but not boor
  • b[ae]r matches bar and ber but not bur or anything else