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

如何阻止PsReadline在Tab补全时为可执行文件追加.exe后缀

解决PowerShell中Tab补全可执行文件自动添加.exe后缀的问题

在PowerShell 7.4(Windows 11环境)中,输入wg按Tab键时,PsReadLine会自动补全为wget.exe,但希望仅补全为wget。修改历史命令时需频繁删除多余的.exe后缀,目前只能通过设置大量别名规避,示例如下:

...
Set-Alias -Name Edge               -value "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
Set-Alias -Name Calibre            -value "C:\Program Files\Calibre2\calibre.exe"
...

需求:仅关闭可执行文件的后缀补全,不影响普通文件名补全(注:此处wget是Windows版本外部命令,非PowerShell内置别名)


解决方案

临时生效(当前会话)

直接在PowerShell中执行以下命令,立即生效:

$PSReadLineOptions.TrimExeInCompletion = $true

执行后,Tab补全可执行文件时会自动去掉.exe后缀,普通文件名补全不受影响。

永久生效(所有PowerShell会话)

将配置写入PowerShell的全局配置文件,重启后永久生效:

  1. 打开全局配置文件:
    notepad $PROFILE.CurrentUserAllHosts
    
  2. 在文件末尾添加一行:
    $PSReadLineOptions.TrimExeInCompletion = $true
    
  3. 保存并关闭文件,重启PowerShell即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:33:14