You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何以编程方式获取二进制文件全路径 等效Bash的which命令

PowerShell下等效Linux which命令的实现方法

PowerShell 中的 Get-Command 返回的是结构化对象,不需要解析文本输出,直接访问对应的属性即可拿到二进制文件的绝对路径。

基础实现(直接存路径到变量)

# 将gpg.exe的绝对路径存入变量
$gpgPath = (Get-Command gpg.exe).Source

# 打印路径验证
Write-Output $gpgPath
# 输出示例:C:\Program Files (x86)\GnuPG\bin\gpg.exe

调用变量中的可执行文件

PowerShell 中需要使用调用运算符&执行变量中存储的路径,避免路径包含空格等特殊字符时报错:

& $gpgPath

执行效果和直接运行对应二进制文件完全一致。

脚本兼容写法(添加错误处理)

如果在自动化脚本中使用,建议添加错误捕获逻辑,避免目标程序不存在时脚本异常终止:

try {
    $gpgPath = (Get-Command gpg.exe -ErrorAction Stop).Source
}
catch {
    Write-Error "未找到gpg可执行文件,请确认程序已安装且已加入系统PATH环境变量"
    exit 1
}

可选:自定义which别名

如果习惯了Bash的which命令用法,可以在PowerShell配置文件中添加自定义函数,实现完全一致的使用体验:

function which($commandName) {
    (Get-Command $commandName -ErrorAction SilentlyContinue).Source
}

配置完成后可以直接使用which gpg.exe直接输出对应二进制的绝对路径。

内容的提问来源于stack exchange,提问作者Michael Altfield

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:48:03