Используя Windows CLI (cmd), как найти файл, часть которого ему известна? Например, каждая отдельная рабочая станция Windows устанавливает javac в другое место, как найти его из интерфейса командной строки Windows (cmd)?
Поиск в Google Я вижу упоминание только об использовании графического интерфейса Windows Explorer (файлового менеджера) или загрузке некоторых бесплатных приложений. Разве в Windows нет встроенной команды locate? Есть ли в редакции сервера? Я не хочу устанавливать Cygwin или что-то еще, как правило, это не мои машины.
windows
command-line
search
locate
dotancohen
источник
источник
javac
обычно должно быть в том же месте ...locate
иupdatedb
--per stackoverflow.com/questions/36841241/…Ответы:
Вы должны быть в состоянии сделать то, что вам нужно сделать с
dir
:Замените [имя файла] на имя файла, который вы ищете, вы должны быть в состоянии использовать подстановочные знаки. / s делает поиск в подкаталогах, поэтому при необходимости вы можете начать с корня C: и проверить весь диск.
источник
javac
установлено наC:\WINDOWS
...Никто не говорит о "где" команда? это поиск исполняемого файла в PATH текущей среды.
источник
У Виндоса самый простой ответ. Но если вам нравится командная строка, вы можете посмотреть на powershell. Чтобы выполнить тот же тип поиска, который вы используете
Который имеет приятное побочное преимущество, заключающееся в том, что его можно использовать в удобном выражении foreach и запускать процесс с результатами поиска.
источник
gci
илиls
.cmd
,PowerShell
вы можете использовать «Tab» для просмотра предложений, как в Linux. Так что печатать на самом деле не так уж и много. И, в моем случае,ls
в PowerShell не работает.Я просто получил программу поиска для Windows . Вам просто нужно следовать инструкциям read me и скопировать файлы .dll и .exe в system32.
Альтернатива включает добавление пути к программе в переменную окружения PATH.
Идея состоит в том, чтобы найти в Windows, если вы ищете что-то «как» найти. :)
источник
locate
на моем компьютере Win7. Он жалуется на то, что базе данных 435 дней, а возрастом не более 3 месяцев. Иupdatedb
не входит.Вопрос несколько двусмысленный.
Вы хотите найти файл (указан в теле OP), но вам также нужна команда / приложение «locate-type» (указано в заголовке). Есть одно тонкое соображение с огромными последствиями. Вы можете найти с помощью двух разных методов:
Поиск целевой древовидной структуры непосредственно в каждом поиске (медленный).
Сначала создается база данных целевой древовидной структуры (может занимать много времени), а затем выполняется поиск по базе данных (очень быстро). База данных должна периодически обновляться, чтобы получить хорошие результаты в поисках. См. Http://en.wikipedia.org/wiki/Locate_%28Unix%29 .
Unix
locate
имеет «тип 2», но в соответствии с телом вашего OP, вы будете в порядке с любым из двух методов. Более того, вы спрашиваете конкретно о параметрах CLI.Ниже я перечисляю некоторые параметры, и я указываю, являются ли они CLI / GUI, типа 1/2, и я добавляю некоторые комментарии.
http://locate32.cogit.net/ (на него уже указал Джон Т, а затем Чику ). GUI, тип 2. Есть портативная версия. Выдающаяся простота использования и настраиваемость. Очень похоже на Unix
locate
(который я использовал и очень понравился).Примечание : я привык к тому, что Unix
Updatedb
занимал довольно много времени для обновления базы данных (конечно, это зависит от размера отсканированного дерева), я нахожу этоlocate32
чрезвычайно быстро. Я не знаю, как это можно улучшить.http://sourceforge.net/projects/winlocate/ CLI, тип 2.
dir [имя файла] / s , решение от Windos . CLI, тип 1.
gci ... , решение от OldWolf . CLI, тип 1.
http://gnuwin32.sourceforge.net/packages/findutils.htm CLI, тип 2.
Все GUI, типа?
источник
Я создал порт PowerShell для locate и updatedb. Использует SQLite в качестве бэкэнда и имеет автоинсталлятор. Только
поиск занимает около 300 мс / запрос.
потом
и все готово
https://gallery.technet.microsoft.com/scriptcenter/Invoke-Locate-PowerShell-0aa2673a
источник
Не нужно устанавливать вручную. Смотрите http://chocolatey.org
Перезапустите среду оболочки
источник
Я знаю, что на этот вопрос давным-давно ответили, однако это мой скрипт для имитации функции поиска, используемой в unix / linux
Сохраните его как locate.bat и поместите в System32 ИЛИ запустите из каталога, в котором он хранится. Принимает один параметр, например «cmd> locate javac.exe»
Переключатель locate / c (в качестве второго параметра будет подсчитывать количество экземпляров) и locate /? отобразит текст справки
РЕДАКТИРОВАТЬ: (Обновленный сценарий, более организованный и может обрабатывать более широкий спектр ситуаций, например, допускает любой поисковый запрос, а не просто имя файла)
источник
Для будущих космических историков Windows: мы были благословлены поиском всего . Изображение dmenu + find + mlocate, свернутое в узкую, довольно симпатичную службу Windows с параметрами cli. Кроме того, эта вещь обновляет свой индекс в режиме реального времени . Ничто в Linux не подходит близко. Это будет один из тех немногих случаев, когда вы скажете: «Ну и дела, я бы хотел, чтобы это чертово ядро было немного больше Microsofty»
источник
Короткий ответ: точного эквивалента в Windows нет . Обходной путь должен использовать команду dir . Это команда списка каталогов, которая поддерживает специальные символы и может использоваться, как указано в принятом ответе.
Команда Locate во многих Unix-подобных системах является поиском по индексу. Он работает в тандеме с командой updatedb, которая индексирует файловые системы. Поскольку это поиск по индексу, он обычно намного быстрее, чем текстовые команды поиска, такие как dir и find в Unix, особенно при поиске в глубокой иерархии каталогов.
источник
where
является точным эквивалентом.Я не знаю ни одного метода CLI для этого в Windows. Имейте в виду, что интерфейс командной строки Windows был заброшен обычными пользователями, поэтому он предлагает в целом менее зрелый набор инструментов. Лучшим вариантом может быть использование gnu
find
в Windows, которую вы можете получить от GnuWin32 . Если вы разрабатываете сценарий, вам просто нужно включитьfind.exe
и его зависимости со сценарием (не волнуйтесь, он не очень большой).источник