Существует ли эквивалент Unix whereis команда в Windows?
Так, чтобы я мог выяснить, где команды, которые я могу выполнить на самом деле.
То, где команда делает то, что Вы хотите и возвращаетесь, по крайней мере, к набору ресурса для Windows 98, и включено по умолчанию в Сервере 2003, Vista, и более новое:
C:\>where csc
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
Если выполняется без аргументов (на Vista), это приводит к одному из моих любимых сообщений:
C:\>where
ERROR: The operation completed successfully.
При выполнении в PowerShell, несомненно, будут включать '.exe' для различения от любого 'где' псевдонимы или сценарии вдоль пути. ('где' типичный псевдоним для Где-Object.ps1),
C:\> where.exe where.exe
C:\Windows\System32\where.exe
Существует, по крайней мере, порт Windows для which
утилита.
hackerish which.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)
)