Svi*_*ish 202 windows command-line
在 Windows 中是否有与 Unix whereis命令等效的命令?
这样我就可以弄清楚我可以实际运行的命令在哪里。
Kev*_*vin 256
在这里命令你想要做什么和去至少回到资源工具包的Windows 98,和Server 2003中,Vista中包含默认情况下,更新:
C:\>where csc
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
Run Code Online (Sandbox Code Playgroud)
如果不带参数执行(在 Vista 上),它会产生我最喜欢的消息之一:
C:\>where
ERROR: The operation completed successfully.
Run Code Online (Sandbox Code Playgroud)
如果在 PowerShell 中执行,请确保包含“.exe”以区别路径中的任何“where”别名或脚本。('where' 是 Where-Object.ps1 的典型别名)
C:\> where.exe where.exe
C:\Windows\System32\where.exe
Run Code Online (Sandbox Code Playgroud)
小智 9
请使用where命令:
> where app.exe
Run Code Online (Sandbox Code Playgroud)
这是实现目标的最佳方式。
您还可以使用 PowerShell 命令:
> $env:path.Split(';') | gci -Filter app.exe
Run Code Online (Sandbox Code Playgroud)
扩展版本如下所示:
> $env:path.Split(';') | select -Unique | ? {$_ -and (test-path $_)} | gci -Filter app.exe
Run Code Online (Sandbox Code Playgroud)
骇人听闻的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)
)
Run Code Online (Sandbox Code Playgroud)