EDIT: J'aurais dû ajouter, si vous ne pouvez pas utiliser la commande WHERE de l'invite de commande, vérifiez votre variable PATH. (Utilisez simplement la commande “path”.) Assurez-vous que C:\Windows\System32 est dans votre chemin. C'est là que se trouve “where.exe”.
WHERE est la commande que vous recherchez ! WHERE est comme un croisement entre le shell UNIX intégré “which” et la commande “locate”, en ce sens qu'elle fonctionne à la fois pour les exécutables de commande et les fichiers ordinaires.
Elle est également un peu plus complexe que l'une ou l'autre de ces deux commandes, même si, en général, une simple commande
WHERE <file>
fonctionnera.
Elle est différente de la commande “locate” en ce sens qu'elle ne regarde pas à travers tout le système de fichiers. Au lieu de cela, le comportement par défaut est de chercher les fichiers à deux endroits :
- Le répertoire courant.
- Tous les répertoires de la variable PATH.
Ainsi, toute commande que vous pouvez exécuter directement à partir d'une invite de commande sans spécifier le répertoire, sera trouvée par la commande WHERE. (Parce que toute commande de ce type est déjà dans la liste de la variable PATH).
Si vous voulez chercher seulement dans la variable de chemin de commande, vous pouvez utiliser :
WHERE "$path:<search text>"
Si, d'autre part, vous voulez trouver toutes les copies d'un fichier dans une arborescence de répertoires, vous pouvez utiliser :
WHERE /R <Top Level Directory> <search text>
Enfin, la commande WHERE trouvera les commandes et tous les fichiers avec une extension de la variable PATHEXT sans inclure l'extension. Tous les autres fichiers doivent être spécifiés soit exactement, soit avec des jokers.
Prenez par exemple les fichiers “dxdiag.exe” et “dxdiagn.dll”. Notez la commande suivante et sa sortie :
WHERE /R C:\Windows dxdiag
C:\Windows\System32\dxdiag.exe
C:\Windows\SysWOW64\dxdiag.exe
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiag.exe
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiag.exe
Elle réussit à renvoyer toutes les versions de “dxdiag.exe” car “.exe” est l'une des extensions de la variable PATHEXT. (Note : “WHERE dxdiag” aurait également fonctionné, car C:\Windows\System32 est dans la variable PATH).
WHERE /R C:\Windows dxdiagn
d'autre part, ne renvoie aucun résultat, car “.dll” n'est pas dans PATHEXT.
Dans ce cas, regardez le résultat que l'ajout d'un joker nous donne :
WHERE /R C:\Windows dxdiagn*
C:\Windows\System32\dxdiagn.dll
C:\Windows\System32\en-US\dxdiagn.dll.mui
C:\Windows\SysWOW64\dxdiagn.dll
C:\Windows\SysWOW64\en-US\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_daccd04369b09c70\dxdiagn.dll.mui
C:\Windows\WinSxS\amd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7\dxdiagn.dll
C:\Windows\WinSxS\x86_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_7eae34bfb1532b3a\dxdiagn.dll.mui
C:\Windows\WinSxS\x86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91\dxdiagn.dll
Il renvoie avec succès toutes les versions de dxdiagn.dll.
Pour plus d'informations, utilisez “WHERE / ? J'espère que cela vous aidera !