175 votes

L'équivalent PowerShell de la commande Unix `which` ?

Est-ce que PowerShell a un équivalent à la which que l'on trouve dans la plupart des shells Unix (si ce n'est tous) ?

Il y a un certain nombre de fois où j'aimerais connaître l'emplacement de quelque chose que j'exécute à partir de la ligne de commande. Sous Unix, je fais simplement which <command> et il me dit. Je ne trouve pas d'équivalent dans PowerShell.

133voto

Cette question a été posée et répondue sur Stack Overflow : Equivalent de la commande *Nix 'which' dans PowerShell ?

Le tout premier alias que j'ai créé lorsque j'ai commencé à personnaliser mon profil dans PowerShell était "which".

Nouvel alias qui get-command

Pour l'ajouter à votre profil, tapez ceci :

"`nNew-Alias which get-command" | add-content $profile

Le `n' au début de la dernière ligne est pour s'assurer qu'elle commencera comme une nouvelle ligne.

107voto

FLGMwt Points 921

Depuis PowerShell 3.0, vous pouvez faire

(Get-Command cmd).Path

Ce qui présente également l'avantage, par rapport au Get-Command classique, de renvoyer un fichier System.String afin d'obtenir une sortie *nixy simple ligne comme vous en avez l'habitude. En utilisant l'alias gcm, nous pouvons le réduire à 11 caractères.

(gcm cmd).Path

16voto

Anonymous Points 121

A également répondu en 2008 : Existe-t-il un équivalent de "which" dans la ligne de commande Windows ?

Essayez le where si vous avez installé un kit de ressources.

Les parties les plus importantes de la réponse :

Windows Server 2003 et les versions ultérieures fournissent le WHERE qui fait une partie de ce que fait which, bien qu'elle corresponde à tous les types de fichiers, et pas seulement aux commandes exécutables. seulement les commandes exécutables.

[snip]

Dans Windows PowerShell, vous devez taper where.exe .

8voto

Dmitry Sobolev Points 131

Essayez ceci : get-command [votre commande].

7voto

Anton Points 1153
function which([string]$cmd) {gcm -ErrorAction "SilentlyContinue" $cmd | ft Definition}

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