有没有与 Unix 相当的哪里Windows 中的命令?
这样我就能弄清楚我可以运行的命令实际上在哪里。
答案1
这在哪里命令按照您的需要执行操作并至少返回到 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
如果不带参数执行(在 Vista 上),它会返回我最喜欢的消息之一:
C:\>where
ERROR: The operation completed successfully.
如果在 PowerShell 中执行,请务必包含“.exe”以区分路径上的任何“where”别名或脚本。(“where”是 Where-Object.ps1 的典型别名)
C:\> where.exe where.exe
C:\Windows\System32\where.exe
答案2
您可以运行以下 PowerShell 命令:
gcm <command>
Get-Command cmdlet 获取计算机上安装的所有命令,包括 cmdlet、别名、函数、筛选器、脚本和应用程序。Get-Command 获取来自 PowerShell 模块的命令以及从其他会话导入的命令。若要仅获取已导入到当前会话的命令,请使用 ListImported 参数。
答案3
请用在哪里命令:
> where app.exe
这是实现目标的最佳方法。
您也可以使用 PowerShell 命令:
> $env:path.Split(';') | gci -Filter app.exe
扩展版本如下所示:
> $env:path.Split(';') | select -Unique | ? {$_ -and (test-path $_)} | gci -Filter app.exe
答案4
我在某个地方找到了这个批处理文件whereis.bat
:
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
更新:也许我找到了这里。