Как открыть диалоговое окно «Найти файлы» из командной строки в Windows XP для поиска в определенной папке?

Я хочу создать горячую клавишу для поиска файлов в определенной папке в Windows XP; Я использую AutoHotkey для создания этого ярлыка.

Проблема в том, что мне нужно знать оператор командной строки для запуска, чтобы открыть стандартный диалог Windows «Найти файлы / папки». Некоторое время я гуглил и не нашел ни одной страницы, показывающей, как это сделать.

Я предполагаю, что если я знаю оператор командной строки для вызова этого приглашения, он позволит мне передать параметр для той папки, в которой я хочу искать. Я знаю, что вы можете сделать это, щелкнув правой кнопкой мыши папку в XP, поэтому я предполагаю, что есть способ сделать это в командной строке ...?


person IQpierce    schedule 18.09.2008    source источник


Ответы (11)


из http://www.pcreview.co.uk/forums/thread-1468270.php

@echo off
echo CreateObject("Shell.Application").FindFiles >%temp%\myff.vbs
cscript.exe //Nologo %temp%\myff.vbs
del %temp%\myff.vbs
person Brian    schedule 18.09.2008
comment
Я этого не пробовал; похоже, что он действительно может выполнить то, что я хочу ... за исключением того, что неясно, смогу ли я сказать ему поиск в каталоге X при запуске ... - person IQpierce; 19.09.2008

Используйте Locate32

Это не точный ответ на ваш вопрос, но вместо этого вы можете использовать Locate32. средства поиска Windows. У него есть целый набор параметров командной строки, а также огромное преимущество индексированного поиска, что означает, что результаты будут отображаться мгновенно. Это инструмент, без которого я не могу обойтись в Windows.

Это команда, которую вы должны выполнить для поиска всех index.php файлов в D:\home:

locate32.exe -r -p D:\home index.php

где переключатель -r обеспечивает немедленный поиск Locate32 без вмешательства пользователя (без него интерфейс будет запущен и поля будут заполнены, но вам нужно будет нажать Enter, чтобы продолжить поиск), а -p D:\home - это путь для поиска.

Используя AutoHotKey, просто назначить указанную выше команду сочетанию клавиш.

В том же пакете locate.exe есть версия Locate32, полностью основанная на командной строке. В нем используются те же индексы, что и в Locate32, но поскольку он полностью основан на интерфейсе командной строки, он может использоваться языками сценариев и другими инструментами, чтобы воспользоваться преимуществами стремительной производительности поиска, которую он предлагает.

person Charles Roper    schedule 18.09.2008

F3 или Win + F - это горячая клавиша, запускающая поиск файлов. Если затем вы выполните поиск по нужным критериям, вы можете сохранить результаты поиска с помощью меню «Файл». Это создает файл .FND. Файл FND можно запустить из командной строки или с помощью горячей клавиши, созданной с помощью autohotkey.

Можно отредактировать файл .FND (двоичный) и изменить то, что он ищет, но я бы не стал этого делать, если только это не единственный способ выполнить то, что вы хотите. Я попробовал, и все заработало.

person bruceatk    schedule 18.09.2008
comment
Фантастика. Я понятия не имел, что вы можете сохранять поисковые запросы, и меня удивило, что XP даже не позволяет вам запускать это из командной строки. Но этот метод позволяет мне делать то, что я хочу (который, чтобы уточнить, мог быстро запустить диалог для поиска в моем каталоге c: \ dev \ src с помощью горячей клавиши в любое время). - person IQpierce; 19.09.2008
comment
Вы должны любить контекстно-зависимые меню, которые не дадут вам понять, что возможно, если вы еще не знаете ответ. :) - person bruceatk; 19.09.2008

Невозможно из командной строки заставить Проводник отображать панель файлов поиска. Но вы можете преодолеть это с помощью VBScript.

Попробуй это

'ExplorerFind.vbs
Dim objShell
Set objShell = WScript.CreateObject("Shell.Application")
objShell.FindFiles

И скомпилируйте его с помощью cscript / nologo ExplorerFind.vbs

person Pascal Paradis    schedule 18.09.2008
comment
groups.google.com/group/microsoft.public.windowsxp.general/ упоминает что-то о $ SEARCH $, но я не знаю, что это за контекст. Я даже прибег к CUIL для поиска знаков доллара - person Brian; 18.09.2008

просто выполните эту строку! (WinKey + R, CmdPrompt, Shortcut, ShellExecute, WinExec и т. Д.)

search-ms:query=New%20Folder&

Найдите все ярлыки на рабочем столе

search-ms:query=*.lnk&crumb=folder:%userprofile%\Desktop&

Найдите текст «exe» в папке «C: \ Program Files».

search-ms:query=exe&crumb=location:C:\Program Files&

Другие примеры

search-ms:query=microsoft&
search-ms:query=vacation&subquery=mydepartment.search-ms&
search-ms:query=seattle&crumb=kind:pics& 
search-ms:query=seattle&crumb=folder:C:\MyFolder&

ссылка здесь http://msdn.microsoft.com/en-us/library/ff684385.aspx

person Vitim.us    schedule 22.09.2011

Попробуйте "Launchy". Для windows и linux. Потрясающая утилита.

person DustinB    schedule 18.09.2008

Если вам нужна просто горячая клавиша, используйте Win+f.

person jfs    schedule 18.09.2008

Немного неясно, нужен ли вам конечный результат в виде открытого диалогового окна «Найти» или вы просто ищете способ командной строки для поиска в произвольном каталоге. Если последнее есть FINDSTR (при условии, что вы хотите искать содержимое файлов, а не их имена):

Какие инструменты grep подходят для Windows?

person Ben Dunlap    schedule 18.09.2008

Дополнение к ответу Бена Данлапа: вы также можете использовать FINDSTR в выводе команды DIR (например, в цикле FOR). Это будет искать имена файлов, а не в файлах.

person Tom    schedule 05.10.2014

Основываясь на ответе Vitim.us от cmd, все, что вам нужно, это explorer.exe "search-ms:query=*.exe&crumb=location:C:\Program Files&" Измените местоположение и запрос по мере необходимости

person Trevor    schedule 15.08.2017

Почему бы тебе не попробовать ударить по F3? :)

person Dan    schedule 18.09.2008
comment
Я не уверен, почему кто-то пометил это. Это правильный ответ. - person bruceatk; 18.09.2008
comment
Нет, это не так. OP спросил: [...] Мне нужно знать оператор командной строки для запуска, чтобы открыть стандартный диалог Windows «Найти файлы / папки». Так что удар F3 определенно не правильный ответ. - person Charles Roper; 18.09.2008
comment
Пока это самый правильный вариант. Его цель - создать горячую клавишу. F3 - это горячая клавиша, так же как и Win + F. Вторая часть его вопроса сложна. - person bruceatk; 18.09.2008
comment
Однако половина ответа все еще не является ответом. :) - person Charles Roper; 19.09.2008