Réponses:
La commande where fait ce que vous voulez et renvoie au moins au kit de ressources pour Windows 98; elle est incluse par défaut dans Server 2003, Vista et les versions plus récentes:
C:\>where csc
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
S'il est exécuté sans arguments (sous Vista), l'un de mes messages favoris est le suivant:
C:\>where
ERROR: The operation completed successfully.
Si vous exécutez PowerShell, veillez à inclure ".exe" pour le distinguer des alias ou des scripts "où" situés le long du chemin. ('Où' est un alias typique de Where-Object.ps1)
C:\> where.exe where.exe
C:\Windows\System32\where.exe
where
tout simplement, retourne maintenant l'aide à l'utilisation dans Windows 7. Je voulais le voir moi-même: p
where
non disponible dans XP
hackerish qui.cmd:
@echo off
@set PATH=.;%PATH%
@rem
@rem about: something similar like the unix-alike-which, but with
@rem within pure cmd
@rem
if "%1" == "" (
@echo Usage:
@echo.
@echo which 'cmd'
@echo.
@echo.if 'cmd' is not found, ERRORLEVEL is set to 1
@echo.
) else (
( @for %%f in (%1 %1.exe %1.cmd %1.bat %1.pif) do if not "%%~$PATH:f" == "" ( @echo %%~$PATH:f ) else @set ERRORLEVEL=1)
)
S'il vous plaît, utilisez où commande:
> where app.exe
C'est le meilleur moyen d'atteindre votre objectif.
Vous pouvez également utiliser la commande PowerShell:
> $env:path.Split(';') | gci -Filter app.exe
et la version étendue ressemble à ceci:
> $env:path.Split(';') | select -Unique | ? {$_ -and (test-path $_)} | gci -Filter app.exe
Quelque part "là-bas", j'ai trouvé ce fichier de commandes whereis.bat
:
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
Mise à jour: peut-être que je l'ai trouvé ici .
Il existe au moins un port Windows pour l' which
utilitaire.
function find ($string) {
Get-ChildItem -Path 'c:\' -Recurse -Filter $string;
}
function whereis ($string) {
$superpath = "$env:Path;C:\Program Files;C:\Program Files (x86)";
(echo $superpath).Split(';') | Get-ChildItem -Recurse -Filter $string;
}
Exemple:
PS> trouver Mozilla.admx
Directory: C:\Windows\PolicyDefinitions
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 1/27/2016 12:22 PM 37146 Mozilla.admx
PS> où est firefox.exe
Directory: C:\Program Files\Mozilla Firefox
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 9/21/2017 5:30 PM 477136 firefox.exe
Je cherchais ceci aujourd'hui et comme je suis sur XP sans le kit de ressources, je me suis tourné vers powershell avec la commande suivante:
dir -path c:\ -filter ffmpeg.* -r
where
ce que seulement les recherches dans le %PATH%
. De plus, il est beaucoup plus lent et
Vous pouvez essayer de rechercher la commande en utilisant les éléments suivants:
dir /s type-whatever-you-are-searching