使用某些选项安装软件的批处理脚本

时间:2013-07-16 15:42:22

标签: batch-file install4j

我使用以下脚本静默安装install4j应用程序:

start "C:\Temp" /WAIT Installer.3-00-00.Windows.exe -q -dir %localdir%

然而,这完全有效但现在我想修改脚本以获得一些选项。对于。例如。默认安装语言选项为英语。用户可以在正常安装时选择要安装的任何语言。使用上面的脚本,语言只有英文。有没有选项,我可以通过命令行为不同语言提供选项?

谢谢, 克瑞提

2 个答案:

答案 0 :(得分:1)

批处理没有像其他语言一样的内置选项解析器,所以你必须自己做,例如像这样:

@echo off

setlocal

:continue
if "%1"=="" then goto finished
if /i "%1"=="/l" then (
  shift
  set "lang=%1"
) else if ... (
  ...
)
shift
goto continue
:finished

REM option parsing ends here, regular code below

修改:如果我正确理解 install4j 文档,那么必须使用-q -dir "C:\destination\folder"选项{{3即使您通过-varfile "C:\path\to\your.varfile"提供unattended install,也是如此。选项-c将以控制台模式运行安装程序,这与无人参与模式不同。

我尝试在与Installer.3-00-00.Windows.varfile相同的文件夹中创建响应文件Installer.3-00-00.Windows.exe,然后像这样运行安装程序:

@echo off

setlocal

set "localdir=C:\destination\folder"

cd /d C:\installer\folder
start "Install" /wait Installer.3-00-00.Windows.exe -q -dir "%localdir%"

BTW,start命令的第一个参数设置控制台窗口的标题。它不会更改工作目录。如果要为已启动的程序设置工作目录,则必须使用/d "C:\Temp"

start "Install" /d "C:\Temp" /wait Installer.3-00-00.Windows.exe -q -dir "%localdir%"

答案 1 :(得分:0)

您可以使用参数

从命令行设置语言
-Dinstall4j.language=fr

(在这种情况下是法语)。该语言必须是在常规设置 - >语言步骤中配置的语言之一。

要更改安装程序中的其他设置,请考虑使用response file。所有响应文件变量也可以使用语法-VvariableName=value在命令行上传递。