Как мне открыть диалоговое окно “Найти файлы” из командной строки в Windows XP для поиска в определенной папке?
-
01-07-2019 - |
Вопрос
Я бы хотел создать горячую клавишу для поиска файлов в определенной папке в Windows XP;Я использую AutoHotkey для создания этого ярлыка.
Проблема в том, что мне нужно знать инструкцию командной строки для запуска, чтобы открыть стандартное диалоговое окно Windows "Найти файлы / папки".Я некоторое время гуглил и не нашел ни одной страницы, указывающей, как это сделать.
Я предполагаю, что если я знаю инструкцию командной строки для вызова этого запроса, это позволит мне передать параметр для того, в какой папке я хочу выполнить поиск.Я знаю, что вы можете сделать это, щелкнув правой кнопкой мыши по папке в XP, поэтому я предполагаю, что есть какой-то способ, которым я мог бы сделать это в командной строке ...?
Решение
От 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
Другие советы
Использование Локализация32
Это не точный ответ на ваш вопрос, но вы могли бы использовать Локализация32 вместо средства поиска 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, его можно использовать в скриптовых языках и других инструментах, чтобы воспользоваться преимуществами высокой производительности поиска, которую он предлагает.
F3 или Win + F - это горячая клавиша, которая запускает Поиск файлов.Если затем вы выполните поиск по нужным вам критериям, вы можете сохранить результаты поиска с помощью меню Файл.При этом создается файл .FND.Файл FND может быть запущен из командной строки или с помощью горячей клавиши, созданной с помощью autohotkey.
Это можно отредактировать .Найдите файл FND (двоичный) и измените то, что он ищет, но я бы не стал этого делать, если только это не единственный способ добиться того, чего вы хотите.Я попробовал, и это сработало нормально.
Из командной строки невозможно заставить Проводник отобразить панель поиска файлов.Но вы можете справиться с этим с помощью какого-нибудь VBScript.
Попробуй это
'ExplorerFind.vbs
Dim objShell
Set objShell = WScript.CreateObject("Shell.Application")
objShell.FindFiles
И скомпилируйте его с помощью cscript /nologo ExplorerFind.vbs
просто выполните эту строку!(WinKey + R, CmdPrompt, Ярлык, ShellExecute, WinExec и т.д.)
search-ms:query=New%20Folder&
Найдите все ярлыки на вашем рабочем столе
search-ms:query=*.lnk&crumb=folder:%userprofile%\Desktop&
Найдите текст "exe" в папке "C:\Program Файлы".
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
Попробуйте "Launchy".Для Windows и linux.Потрясающая утилита.
Если вам нужна просто горячая клавиша, то используйте Win+f
.
Немного неясно, является ли конечный результат, который вы хотите, открытым диалогом "найти", или вы просто ищете способ поиска в произвольном каталоге из командной строки.Если последнее, то есть FINDSTR (при условии, что вы хотите выполнять поиск по содержимому файлов, а не по их именам):
Дополнение к ответу Бена Данлэпа:Вы также можете использовать FINDSTR для вывода команды DIR (например, в цикле FOR) Это приведет к поиску имен файлов, а не в файлах.
Основываясь на ответе by Vitim.us из cmd, все, что вам нужно, это
explorer.exe "search-ms:query=*.exe&crumb=location:C:\Program Files&"
Измените местоположение и запрос по мере необходимости
Почему бы тебе не попробовать ударить по F3?:)