Как открыть диалоговое окно «Поиск файлов» из командной строки в Windows XP для поиска определенной папки? - PullRequest
4 голосов
/ 18 сентября 2008

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

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

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

Ответы [ 11 ]

5 голосов
/ 18 сентября 2008

Использование Locate32

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

Эта команда будет использоваться для поиска всех файлов index.php в D:\home:

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

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

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

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

4 голосов
/ 19 сентября 2008

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

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

3 голосов
/ 22 сентября 2011

просто выполните эту строку! (WinKey + R, CmdPrompt, ярлык, 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

3 голосов
/ 18 сентября 2008

от 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
3 голосов
/ 18 сентября 2008

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

Попробуйте это

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

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

0 голосов
/ 15 августа 2017

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

0 голосов
/ 05 октября 2014

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

0 голосов
/ 18 сентября 2008

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

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

0 голосов
/ 18 сентября 2008

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

0 голосов
/ 18 сентября 2008

Попробуйте "Launchy". Для Windows и Linux. Удивительный утиль.

...