Existe-t-il un équivalent de « which » sur la ligne de commande Windows ?
Je vous suggère d’utiliser la cmdlet Get-Command de Windows PowerShell, comme décrit dans une autre réponse à cette question par Marawan Mamdouh.
Si vous êtes comme moi et n’utilisez pas PowerShell, utilisez le programme where.exe de Windows. Comme which sous Unix, il affiche le chemin complet correspondant à la commande (nom de fichier uniquement) que vous tapez :
C:\> where edit
C:\Windows\System32\edit.com
Contrairement à which, where.exe peut afficher tous les chemins correspondant au nom de fichier donné, bien que seul le premier affiché soit normalement utilisé lors du lancement d’un programme :
C:\> where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
where.exe essaie de suivre les règles du shell de commande Windows CMD.EXE concernant les noms de fichiers et chemins qui fonctionnent comme commandes. Cela inclut la variable d’environnement %PATHEXT% et la possibilité d’ouvrir des fichiers de données non-programmes en utilisant leurs noms de fichiers avec extensions :
C:\> set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
C:\> where Enterprise.xml slmgr
C:\Windows\Enterprise.xml
C:\Windows\System32\slmgr.vbs
where.exe accepte même les caractères génériques, donc where nt*.exe trouve tous les fichiers dans votre %PATH% et le répertoire courant dont les noms commencent par nt et se terminent par .exe :
C:\> where nt*.exe
C:\Windows\System32\ntoskrnl.exe
C:\Windows\System32\ntprint.exe
C:\Windows\System32\ntvdm.exe
Consultez la documentation en ligne de where.exe ou exécutez where.exe /? pour plus d’aide.
Remarques :
- Lorsque vous utilisez PowerShell, exécutez
where.exeen tant quewhere.exe, jamaiswhere. Le simplewheredans PowerShell est un alias pour [Where-Object](https://learn.microsoft.com/powershell/module/microsoft.po
(Réponse tronquée)