where is a direct equivalent:
C:UsersJoey>where cmd
C:WindowsSystem32cmd.exe
Note that in PowerShell where itself is an alias for Where-Object, thus you need to usewhere.exe in PowerShell.
In cmd you can also use for:
C:UsersJoey>for %x in (powershell.exe) do @echo %~$PATH:x
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
In PowerShell you have Get-Command and its alias gcm which does the same if you pass an argument (but also works for aliases, cmdlets and functions in PowerShell):
PS C:UsersJoey> Get-Command where
CommandType Name Definition
----------- ---- ----------
Alias where Where-Object
Application where.exe C:Windowssystem32where.exe
The first returned command is the one that would be executed.