In Linux, abbiamo il comando "quale" per scoprire il percorso di un eseguibile.
Qual è l'equivalente di Windows? Esiste un comando di PowerShell per farlo?
In Linux, abbiamo il comando "quale" per scoprire il percorso di un eseguibile.
Qual è l'equivalente di Windows? Esiste un comando di PowerShell per farlo?
Risposte:
Alcune versioni di Windows (credo Windows 2003 e versioni successive) hanno il comando where:
c:\>where ping
C:\Windows\System32\PING.EXE
wherelavoro per me in Windows 7
where /r c:\ fileNameaggiungendo / rc: \ mi ha permesso di eseguire una ricerca ricorsiva a partire dalla radice dell'unità C usando Windows 7 Professional, sembra non essere in access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
where.exe pingperché whereè di default alias al Where-Objectcmdlet che è una storia completamente diversa
where.exeesplicitamente invece di wherefunzionare per me in PowerShell
Sì, Get-Commandtroverà tutti i comandi inclusi gli eseguibili:
PS\> Get-Command ipconfig
Se vuoi limitare i comandi solo agli eseguibili:
PS\> Get-Command -CommandType Application
Troverà tutti gli ex sul tuo cammino. Esiste un alias per l'uso interattivo:
PS\> gcm net* -CommandType Application
Per ottenere il percorso di un eseguibile, è possibile utilizzare la Pathproprietà dell'oggetto restituito. Per esempio:
PS\> (Get-Command notepad.exe).Path
Per ulteriori informazioni, esegui man Get-Command -full.
Se vuoi renderlo breve, crea una riga che.cmd file con il contenuto
echo %~$PATH:1
Ciò cercherà il primo parametro (% 1) alimentato allo script e visualizzerà il percorso completo del file trovato. Un buon posto per inserire questo script in Windows 10 è% LOCALAPPDATA% \ Microsoft \ WindowsApps \ which.cmd
E ottieni il tuo comando nel percorso.
c:\>which cmd.exe
c:\>echo C:\Windows\System32\cmd.exe
C:\Windows\System32\cmd.exe
where.exeesplicitamente piuttosto che wherefunziona per me in PowerShell:
PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE
where pingnon mi dà nulla in PowerShell.
where.exe.