В PowerShell Get-Command
найдет исполняемые файлы в любом месте $Env:PATH
.
Get-Command eventvwr
CommandType Name Definition
----------- ---- ----------
Application eventvwr.exe c:\windows\system32\eventvwr.exe
Application eventvwr.msc c:\windows\system32\eventvwr.msc
Он также находит командлеты PowerShell, функции, псевдонимы, файлы с пользовательскими расширениями исполняемых файлов с помощью $Env:PATHEXT
и т. Д., Определенные для текущей оболочки (довольно похоже на type -a foo
Bash) - что делает его более удобным, чем другие инструменты например where.exe
, which.exe
и т. д., которые не знают об этих командах PowerShell.
Поиск исполняемых файлов, используя только часть имени
gcm *disk*
CommandType Name Version Source
----------- ---- ------- ------
Alias Disable-PhysicalDiskIndication 2.0.0.0 Storage
Alias Enable-PhysicalDiskIndication 2.0.0.0 Storage
Function Add-PhysicalDisk 2.0.0.0 Storage
Function Add-VirtualDiskToMaskingSet 2.0.0.0 Storage
Function Clear-Disk 2.0.0.0 Storage
Cmdlet Get-PmemDisk 1.0.0.0 PersistentMemory
Cmdlet New-PmemDisk 1.0.0.0 PersistentMemory
Cmdlet Remove-PmemDisk 1.0.0.0 PersistentMemory
Application diskmgmt.msc 0.0.0.0 C:\WINDOWS\system32\diskmgmt.msc
Application diskpart.exe 10.0.17... C:\WINDOWS\system32\diskpart.exe
Application diskperf.exe 10.0.17... C:\WINDOWS\system32\diskperf.exe
Application diskraid.exe 10.0.17... C:\WINDOWS\system32\diskraid.exe
...
Поиск пользовательских исполняемых файлов
Чтобы найти другие исполняемые файлы, отличные от Windows (python, ruby, perl и т. Д.), Необходимо добавить расширения файлов для этих исполняемых файлов в переменную среды PATHEXT
(по умолчанию .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL
), чтобы идентифицировать файлы с этими расширениями в PATH
как исполняемый файл. Поскольку Get-Command
также учитывает эту переменную, она может быть расширена для отображения пользовательских исполняемых файлов. например,
$Env:PATHEXT="$Env:PATHEXT;.dll;.ps1;.psm1;.py" # temporary assignment, only for this shell's process
gcm user32,kernel32,*WASM*,*http*py
CommandType Name Version Source
----------- ---- ------- ------
ExternalScript Invoke-WASMProfiler.ps1 C:\WINDOWS\System32\WindowsPowerShell\v1.0\Invoke-WASMProfiler.ps1
Application http-server.py 0.0.0.0 C:\Users\ME\AppData\Local\Microsoft\WindowsApps\http-server.py
Application kernel32.dll 10.0.17... C:\WINDOWS\system32\kernel32.dll
Application user32.dll 10.0.17... C:\WINDOWS\system32\user32.dll
Вы можете быстро настроить псевдоним с помощью sal which gcm
(краткая форма set-alias which get-command
).
Дополнительную информацию и примеры можно найти в онлайн-справке для Get-Command
.