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

Chocolatey为.bat文件创建shim运行时报文件不存在如何解决

问题原因

你调用Install-BinFile时传入的-Path参数为工具目录路径,不符合该参数的使用要求:-Path需要指定目标可执行脚本/程序的完整绝对路径,而非父级目录。你当前的配置让shim错误地将目录识别为待执行的目标文件,运行时自然会抛出找不到文件的报错。

修正方案

方法1:修正Install-BinFile参数

将chocolateyinstall.ps1的内容修改为如下形式即可:

$ErrorActionPreference = 'Stop'; # stop on all errors

$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
# 拼接得到bat文件的完整路径
$targetScriptPath = Join-Path $toolsDir "test.bat"

# Name参数不需要带.bat后缀,生成的shim可直接通过test命令调用
Install-BinFile -Name 'test' -Path $targetScriptPath

如果是为PowerShell脚本生成shim,只需要将上述代码中的test.bat替换为对应的.ps1文件名即可。

方法2:使用Chocolatey自动shim机制(更简便)

Chocolatey默认会为tools目录下的.bat/.cmd/.ps1/.exe文件自动生成对应shim,如果你不需要自定义shim的名称,完全可以删除chocolateyinstall.ps1里的Install-BinFile调用,不需要额外配置即可实现你要的效果。
如果后续你希望某个文件不生成shim,只需要在同目录下创建一个和该文件同名、后缀为.ignore的空文件即可。

验证方法

修改配置后重新打包、安装Chocolatey包,运行生成的shim命令即可正常调用对应的脚本,不会再出现路径报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:27:03