Windows, эквивалентный из whereis?

Существует ли эквивалент Unix whereis команда в Windows?

Так, чтобы я мог выяснить, где команды, которые я могу выполнить на самом деле.

165
задан 26.04.2012, 14:36

5 ответов

То, где команда делает то, что Вы хотите и возвращаетесь, по крайней мере, к набору ресурса для 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
206
ответ дан 07.12.2019, 07:44

Существует, по крайней мере, порт Windows для which утилита.

2
ответ дан 07.12.2019, 07:44

Можно попытаться искать команду с помощью следующего:

dir /s type-whatever-you-are-searching
-1
ответ дан 07.12.2019, 07:44

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) 
)
7
ответ дан 07.12.2019, 07:44

Где-нибудь "там" я нашел этот пакетный файл whereis.bat:

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i

Обновление: возможно, я нашел его здесь.

3
ответ дан 07.12.2019, 07:44

Теги

Похожие вопросы