我尝试创建.bat
文件来自动在虚拟机上安装多个应用程序。我使用Chocolatey,但是在安装3个应用程序时遇到了一些困难:WinMerge,AdobeReader和Paint.net
我想将这些应用程序安装在另一个驱动器上:F:\Program Files
。我尝试了很多命令,但是没有用。
> choco upgrade adobereader -y -ia "INSTALLDIR=""F:\Program Files\Adobe"""
> choco upgrade paint.net -y -ia "INSTALLDIR=""F:\Program Files\paint.net"""
> choco upgrade winmerge -y -ia "INSTALLDIR=""F:\Program Files\WinMerge"""
Paint.net已安装,但在C:\驱动器中。 Winmerge提取F:驱动器上的所有文件,但未安装。而且Adobe Reader失败。
首先了解一下Windows应用程序的安装程序类型有所不同(在Chocolatey术语中,我们将其称为本机安装程序,它们都接受带有不同参数的自定义目录位置(如果它们是自定义版本)。我们将此文档记录在https://github.com/chocolatey/choco/wiki/GettingStarted#overriding-default-install-directory-or-other-advanced-install-concepts(您可能已经根据安装参数的使用情况进行了阅读)。
/D location with out quotes even if spaces
,必须作为最后一个参数传递。/DIR="location"
[有一个原因是我们有https://github.com/chocolatey/choco/issues/258(从2011年开始是原始的https://github.com/chocolatey/chocolatey/issues/32),还有一个更好的原因是我们尚未实现它-不提前知道安装程序的类型并不容易。这是有计划的,因为如果我们能够支持一个覆盖所有选项的开关,对每个人来说都是一个巨大的胜利。
我终于运行了这三个命令,它正在工作。
choco upgrade adobereader -y -ia "INSTALLDIR=""F:\Program Files\Adobe"""
choco upgrade paint.net -y -ia "TARGETDIR=""F:\Program Files\paint.net"""
choco upgrade winmerge -y -ia "/DIR=""F:\Program Files\WinMerge"""
搜索了一会儿之后,我发现此功能仅适用于付费客户,不适用于免费用户。 :(
编辑:
mklink / j“ C:\ Program Files \ Docker”“ d:\ Program Files \ Docker”