Я вспомнил, что использовал инструмент под названием as, where
чтобы находить места для любых исполняемых программ, подобных этой, в консоли:
C:\Tmp\Where myTool.exe
C:\Program Files\MyApp\myTools.exe
....
Сейчас я не могу найти этот инструмент. Не уверены, есть ли в Windows встроенный инструмент для этого поиска?
where
работал для меня на Windows 7 EnterpriseОтветы:
Согласно ответу StackOverflow на Есть ли эквивалент «который» в Windows? ,
where.exe
делает это на Windows 7 и Windows Server 2003 и более поздних версиях:пример
Выход:
источник
where
это псевдоним по умолчанию дляWhere-Object
, так что вместо этого вам нужно использоватьwhere.exe
, илиgcm
/Get-Command
Get-Command ping
(или простоgcm ping
), который даст вам полный путь, а также некоторую другую информацию.РЕДАКТИРОВАТЬ: я должен был добавить, если вы не можете использовать команду WHERE из командной строки, проверьте переменную PATH. (Просто используйте команду «путь».) Убедитесь, что C: \ Windows \ System32 находится в вашем пути. Вот где находится "where.exe".
Где команда, которую вы ищете! WHERE - это нечто среднее между встроенной в UNIX оболочкой «which» и командой «locate» в том, что она работает как с исполняемыми файлами команд, так и с обычными файлами.
Это также несколько сложнее, чем любой из этих двух, хотя, в общем, простой
будет работать.
Она отличается от команды «locate» тем, что не просматривает всю файловую систему. Вместо этого поведение по умолчанию - искать файлы в двух местах:
Таким образом, любая команда, которую вы можете запустить непосредственно из командной строки без указания каталога, будет найдена командой WHERE. (Потому что любая подобная команда уже есть в списке переменных PATH.)
Если вы хотите искать только в переменной пути команды, вы можете использовать:
Если, с другой стороны, вы хотите найти все копии файла в дереве каталогов, вы можете использовать:
Наконец, WHERE найдет команды и любые файлы с расширением из переменной PATHEXT, не включая расширение. Все остальные файлы должны быть указаны точно или с подстановочными знаками.
Возьмем, к примеру, файлы "dxdiag.exe" и "dxdiagn.dll". Обратите внимание на следующую команду и ее вывод:
Он успешно возвращает все версии «dxdiag.exe», поскольку «.exe» является одним из расширений переменной PATHEXT. (Примечание: «WHERE dxdiag» также сработал бы, потому что C: \ Windows \ System32 находится в переменной PATH.)
с другой стороны, не возвращает никакого результата, потому что «.dll» нет в PATHEXT.
В этом случае посмотрите на результат, который дает нам подстановочный знак:
Он успешно возвращает все версии dxdiagn.dll.
Для получения дополнительной информации используйте «ГДЕ /?». Надеюсь это поможет!
источник
where where
C:\Windows\System32\where.exe
:)использовать
dir
:cd \
часть изменяет вас в корневой каталог диска, чтобы обеспечить начнется поиск в верхней части иерархии.источник
Обратите внимание, что некоторые вещи могут немного отличаться для PowerShell:
источник
Расстраивает, что это не встроенная простая команда.
Однако существует несколько решений, одним из которых является командный файл .
Создайте командный файл (which.bat) следующим образом:
Он просматривает локальный каталог, принимает параметр имени файла с расширением или без расширения и возвращает первое совпадение из текущего каталога или из переменной PATH.
Затем запустите его, как
which cmd.exe
найти cmd.exe, который будет выполняться, если вы введетеcmd
.источник
В Windows вы можете воспользоваться бесплатной утилитой « Поисковая система« Все » для мгновенного поиска любого файла по полному или частичному имени (если ваш жесткий диск отформатирован в ntfs).
источник
Если вы просто хотите что , у проекта GnuWin32 есть куча утилит unix с отдельными установщиками.
источник
В PowerShell
Вы можете легко преобразовать это в командлет.
Другой способ сделать это, как предложено в редактировании:
источник
Если вам просто нужен путь для его запуска, часто лучше использовать команду запуска. Например, вы можете использовать «start chrome.exe» для запуска Chrom {e | ium}, независимо от того, где он установлен.
источник
Хех, я просто должен опубликовать этот пакетный файл для Windows:
Тест:
Не совсем в одну строку, если вы заключите код в
setlocal enableextensions
иendlocal
, которые необходимы для пользователей, у которых расширения не включены по умолчанию.источник