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

如何在PowerShell同名函数中调用原foo.exe可执行程序?

解决PowerShell中同名函数调用原exe的问题

你遇到的无限循环问题是因为函数里直接写foo会优先调用自身,而非系统路径里的foo.exe。这里有几种简便的解决方法:

方法一:直接指定exe扩展名

调用时加上.exe后缀,PowerShell会优先匹配系统路径里的可执行文件,跳过同名函数:

function foo {
  & foo.exe --bar @args
}

&是PowerShell的调用操作符,用于执行外部命令或脚本。

方法二:使用command cmdlet(PowerShell 6+支持)

command cmdlet专门用来直接调用外部命令,自动绕过同名的函数或别名,写法更简洁:

function foo {
  command foo --bar @args
}

方法三:通过Get-Command获取原程序路径

如果不确定程序扩展名,或者需要更通用的写法,可以用Get-Command获取原exe的实际路径后再调用:

function foo {
  & (Get-Command -CommandType Application foo).Source --bar @args
}

其中方法一和方法二是最简便的,可根据个人习惯选择使用。

内容的提问来源于stack exchange,提问作者Garret Wilson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 14:59:57