147 votes

Quel est l'équivalent sous Windows de la commande "which" sous Unix ? Existe-t-il une commande PowerShell équivalente ?

Sous Linux, nous disposons de la commande "which" pour connaître le chemin d'un exécutable.
Quel est son équivalent sous Windows ? Existe-t-il une commande PowerShell pour le faire ?

147voto

Dylan Beattie Points 23222

Les versions plus récentes de Windows (je pense que Windows 2003 et plus) ont la commande where :

C:\>where ping
C:\Windows\System32\PING.EXE

Et pour PowerShell, ajoutez explicitement le suffixe .exe :

PS C:\>where.exe ping
C:\Windows\System32\PING.EXE

62voto

Luke Vo Points 471

Oui, Get-Command trouvera toutes les commandes, y compris les exécutables :

PS\> Get-Command ipconfig

Si vous voulez limiter les commandes aux seuls exécutables :

PS\> Get-Command -CommandType Application

Trouvera tous les ex sur votre chemin. Il existe un alias pour une utilisation interactive :

PS\> gcm net* -CommandType Application

Pour obtenir le chemin d'un exécutable, vous pouvez utiliser la fonction Path de l'objet retourné. Par exemple :

PS\> (Get-Command notepad.exe).Path

Pour plus d'informations, exécutez man Get-Command -full .

10voto

drkvogel Points 359

where.exe de manière explicite plutôt que where fonctionne pour moi dans PowerShell :

PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE

4voto

Joma Points 131

Cmd

donde

C:\Users\X>where ping
C:\Windows\System32\PING.EXE

C:\Users\X>

Powershell

Get-Command

PS C:\Users\X> Get-Command ping
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     PING.EXE                                           10.0.1776… C:\WINDOWS\system32\PING.EXE

PS C:\Users\X>

3voto

jeffcook2150 Points 225

En plus de user10404, la commande d'aide fonctionne sur les alias, vous pouvez donc utiliser le même nom de commande (gcm) pour l'aide et l'utilisation interactive :

help gcm -Parameter *
# or
man gcm -Par *

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X