![Chocolatey,运行已安装的包](https://linux22.com/image/1519595/Chocolatey%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%E5%8C%85.png)
是否有任何命令可以使用 chocolatey 运行已安装的包?
就像是
choco run console2
答案1
不,没有这样的命令。
目前 Chocolatey 无法知道如何从包中调用软件或应用程序。包中没有存储任何属性来定义这一点,也没有可用的命令来做到这一点。Chocolatey 是一个包管理器,而包实际上不仅仅是软件。
巧克力包装实际上甚至不需要包含任何类型的应用程序。
运行已通过包安装(或部署/删除)的软件的方式因包以及其中包含的任何安装程序而异。
您可以想象,只需解压缩并填充(或以其他方式添加到 PATH)的 CLI 应用程序即可在 CLI 上使用(例如,该emacs
包emacs.exe
可用),但您只需运行该程序 - 而不是通过 Chocolatey 调用它。
类似地,已安装的应用程序可能会有可用的快捷方式(或者没有,取决于安装程序和包逻辑)。
答案2
将 chocolatey bin 文件夹放在您的 PATH 上,或者如果您不想这样做,请使用下面的代码。
此代码并非万无一失,但在许多情况下,它可以在 choco bin 文件夹中运行程序或在没有参数的情况下显示文件夹。将下面的代码放在 choco-run.bat 中,并将该文件放在您的 PATH 中。我使用了代码这里循环。
rem @echo off
rem rem Usage: choco-run commmand args
rem rem choco-run (display choco bin folder)
set choco_bin=C:\ProgramData\chocolatey\bin
set arg1=%1
if /i "%arg1%"=="" (
dir/w %choco_bin%
goto:eof
)
set rest=
shift
:loop
if "%1"=="" goto:loop_end
set rest=%rest% %1
shift
goto:loop
:loop_end
%choco_bin%\%arg1% %rest%