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
where
lavoro per me in Windows 7
where /r c:\ fileName
aggiungendo / 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 ping
perché where
è di default alias al Where-Object
cmdlet che è una storia completamente diversa
where.exe
esplicitamente invece di where
funzionare per me in PowerShell
Sì, Get-Command
troverà 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 Path
proprietà 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.exe
esplicitamente piuttosto che where
funziona per me in PowerShell:
PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE
where ping
non mi dà nulla in PowerShell.
where.exe
.