En Linux, tenemos el comando "which" para encontrar la ruta de un ejecutable.
¿Cuál es su equivalente de Windows? ¿Hay algún comando de PowerShell para hacer eso?
En Linux, tenemos el comando "which" para encontrar la ruta de un ejecutable.
¿Cuál es su equivalente de Windows? ¿Hay algún comando de PowerShell para hacer eso?
Respuestas:
Algunas versiones de Windows (creo que Windows 2003 y posteriores) tienen el comando where:
c:\>where ping
C:\Windows\System32\PING.EXE
wheretrabaja para mí en Windows 7
where /r c:\ fileNameagregar / rc: \ me permitió realizar una búsqueda recursiva comenzando en la raíz de la unidad C usando Windows 7 Professional, parece que no está en access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
where.exe ping, porque wherees un alias por defecto para Where-Objectcmdlet que es completamente diferente historia
where.exeexplícitamente en lugar de wheretrabajar para mí en PowerShell
Sí, Get-Commandencontrará todos los comandos, incluidos los ejecutables:
PS\> Get-Command ipconfig
Si desea limitar los comandos a solo ejecutables:
PS\> Get-Command -CommandType Application
Encontrará a todos los exes en su camino. Hay un alias para uso interactivo:
PS\> gcm net* -CommandType Application
Para obtener la ruta de un ejecutable, puede usar la Pathpropiedad del objeto devuelto. Por ejemplo:
PS\> (Get-Command notepad.exe).Path
Para más información, corre man Get-Command -full.
Si desea acortarlo, cree un archivo de una línea que .cmd con el contenido
echo %~$PATH:1
Esto buscará el primer parámetro (% 1) alimentado al script y mostrará la ruta completa del archivo encontrado. Un buen lugar para poner este script en Windows 10 es% LOCALAPPDATA% \ Microsoft \ WindowsApps \ which.cmd
Y obtienes tu comando en el camino.
c:\>which cmd.exe
c:\>echo C:\Windows\System32\cmd.exe
C:\Windows\System32\cmd.exe
where.exeexplícitamente en lugar de wheretrabajar para mí en PowerShell:
PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE
where pingno me da nada en PowerShell.
where.exe.