Как искать файлы и исключать подпапки в Windows 7?


31

Раскрывающийся список поиска Windows 7 всегда выполняет поиск в подпапках, но я хочу искать только в текущей папке. Как я могу это сделать?


Ответы:


22

Способ сделать это (в Windows 7) будет отбрасывать все вложенные папки , используя -folder:с \*, например (при поиске .zip файлов внутри папки загрузки):

*.zip -folder:"Downloads\*"


Вот и все.


3
Или обобщить на любой текущий каталог:*.zip -folder:".\*"
protongun

1
NVM, выше не работает, как ожидалось. Возможно, кто-то может предложить коррекцию?
протонгун

* .zip -folder: ". \ *" также исключает текущий напрямую (а также подкаталоги). Приведенный выше пример работает правильно, чтобы исключить все подкаталоги только в том случае, если «Загрузки» - это текущая работа напрямую.
Ashtonium

1
@Xzila Спасибо за косую черту, приведу простой пример: если у нас есть файл "foo.zip", какова его папка? его папка - «C: \ Downloads», это НЕ «C: \ Downloads \», поэтому, когда вы делаете «-folder:« Downloads \ * », она совпадает с более поздней, но не с первой, фактически исключая только подкаталоги
Ivan Castellanos

1
Пользователи Unix / Linux, подумайте внимательно, «-folder:» исключает соответствующую папку, отменяя предложение «folder:». Семантическая перегрузка снова просачивается из команды find.
BenPen

6

Чтобы не выполнять поиск в подпапках, в окне поиска нажмите «упорядочить» (верхний левый угол) и выберите параметр «Папка и параметры поиска». В этом окне выберите вкладку «Поиск». Снимите флажок «Включить подпапки в результаты поиска ...».


1
Это НЕ сработает. И это гнилая вопиющая ОПАСНАЯ ошибка в Проводнике. Подумайте Поиск -> Ctrl-A -> Удалить. Подпапки ВСЕГДА ищутся из окна поиска Explorer.

1
Ник определенно не прав. В Windows 7 это работает.
RD

6
Это постоянное изменение для случайного / эфемерного поиска, в этом нет никакого смысла.
Иван Кастелланос

5

-folder:(name_of_subfolder) исключит "name_of_subfolder" из результатов поиска.

На веб-сайте Microsoft см. Раздел «Расширенный синтаксис запроса» для получения дополнительных параметров (некоторые из которых могут быть устаревшими) и Дополнительные советы по поиску в Windows, которая использует более новый синтаксис, например System.Kind:<>picture, но кажется менее полным.


Этот параметр именно то, что я искал!
NiteCyper

1
@NiteCyper, он работал у вас в Windows 7? (Я не на Windows, но кажется, что параметр устарел? Смотрите ссылки, которые я добавил к ответу.)
Arjan

Для будущих читателей: кажется, что System.FileName также могут совпадать имена каталогов , так что, возможно, System.FileName<>name_of_subfolderбудет работать. Кроме того, System.Kind может позволить System.Kind:<>folderисключить все папки (или в сочетании с System.FileNameопределенными папками?). И, кажется, можно использовать этот длинный список в поиске. (Но: я не использую Windows.)
Арджан

@Arjan Да, я использую Windows 7. Windows 7, кажется, автоматически удалила двоеточие.
NiteCyper

4

игнорировать folders (не содержащиеся в них файлы), затем попробуйте:

System.Kind:<>folder

3
Это работает на Windows 10
Матфея

2

* .zip папка: "\ MyFolder"

Его необходимо запустить из родительской папки для поиска в MyFolder, но не в подпапках MyFolder или дочерних папках. Двойные кавычки и начальный обратный слеш, по-видимому, необходимы. Я проверил это на Windows 7, и это сработало. Я нашел этот ответ здесь: answers.microsoft.com: как мне НЕ искать подкаталоги

Хотя я нашел опцию исключения папки из другого ответа (спасибо), если у вас есть много подпапок для исключения, эта опция, вероятно, проще.


В Windows 8 я также смог запустить это из каталога, в котором нужно выполнить поиск. Например, C:\fooвведите *.zip folder:"\foo"в поле поиска. Спасибо за информацию и ссылку!
cxw

0

Я работаю на Windows 10, но сомневаюсь, что все изменилось. Если я прав, приведенные выше ответы неверны.

В поле поиска

Если вы идете:
common * source
... это вызывает все файлы и папки с подстрокой "common", за которой следует подстрока "source": например, commons-collection4-4.0-sources.jar

NB. По какой-то необъяснимой (микро $ oft) причине, даже если вы установили параметр НЕ для поиска содержимого файла в «Дополнительные параметры», он все равно будет искать содержимое файлов, если вы не предшествуете строке поиска с помощью «name». : "или" имя файла: "

Если вы идете:
имя: общий * источник
... ничего не подходит!

Если вы идете:
filename: common * source
... это вызывает все файлы и папки с подстрокой "common", за которой следует подстрока "source": например, commons-collection4-4.0-sources.jar

Если вы пойдете:
filename: common
... он вызовет все файлы и папки, которые имеют "common" в своем имени.

Если вы идете:
filename: common -folder
... он выведет только файлы (без папок) с "common" в их имени

Обратите внимание на разницу между «имя» и «имя файла». Я подозреваю, что в первом случае он использует «свойство» файла, скрытого где-то, и что большую часть времени вы захотите искать «имя файла».

Также обратите внимание, что использование подстановочного знака * требует, чтобы часть перед ним предшествовала части после него (конечно). Если вы хотите, чтобы эти подстроки появлялись в вашем имени файла в любом порядке , это немного сложно. Вы должны сделать что-то вроде этого:

filename: "* test *" AND "* co *" -folder

... что эквивалентно этому:

filename: "* co *" AND "* test *" -folder

или действительно это:

filename: папка "* test *" + "* co *"


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.