The Windows command line provides several ways to find the full path of an executable file. This can be useful when troubleshooting issues with commands or scripts, as it allows you to identify which version of a program is being used.
One way to find the path of an executable is by using the where
command. This command searches for files in the directories specified by the PATH
environment variable and returns their full paths. For example:
C:\> where edit
C:\Windows\System32\edit.com
The where
command can also find multiple files with the same name but different extensions, as specified in the PATHEXT
environment variable.
C:\> where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
In addition to finding executables by their exact names, the where
command can also search for files using wildcards. For example:
C:\> where nt*.exe
C:\Windows\System32\ntoskrnl.exe
C:\Windows\System32\ntprint.exe
C:\Windows\System32\ntvdm.exe
Another way to find executable paths is by using Windows PowerShell’s Get-Command
cmdlet. This cmdlet searches for commands in the directories specified by the PATH
environment variable and returns their full paths.
PS C:\> Get-Command eventvwr
CommandType Name Definition
----------- ---- ----------
Application eventvwr.exe c:\windows\system32\eventvwr.exe
Application eventvwr.msc c:\windows\system32\eventvwr.msc
The Get-Command
cmdlet can also find commands by searching for patterns in their names. For example:
PS C:\> Get-Command *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
It’s worth noting that the where
command and the Get-Command
cmdlet have different behaviors when it comes to finding custom executables. The where
command only searches for files with extensions specified in the PATHEXT
environment variable, while the Get-Command
cmdlet can find commands with any extension.
In summary, the Windows command line provides two main ways to find executable paths: the where
command and the Get-Command
cmdlet. Both tools are useful for troubleshooting issues with commands or scripts, but they have different behaviors when it comes to finding custom executables.