Existe-t-il un équivalent du système Unix où se trouve dans Windows ?
Pour que je puisse savoir où se trouvent les commandes que je peux exécuter.
Existe-t-il un équivalent du système Unix où se trouve dans Windows ?
Pour que je puisse savoir où se trouvent les commandes que je peux exécuter.
El wobei fait ce que vous voulez et remonte au moins au kit de ressources pour Windows 98, et 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
Si elle est exécutée sans arguments (sous Vista), elle donne l'un de mes messages préférés :
C:\>where
ERROR: The operation completed successfully.
Si vous l'exécutez dans PowerShell, veillez à inclure '.exe' pour vous distinguer de tout alias 'where' ou scripts le long du chemin. ('where' est un alias typique pour Where-Object.ps1)
C:\> where.exe where.exe
C:\Windows\System32\where.exe
S'il vous plaît, utilisez wobei commandement :
> 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
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)
)
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.