如何使用批处理脚本在自定义路径上安装 java 运行时/jre?

如何使用批处理脚本在自定义路径上安装 java 运行时/jre?

我正在尝试创建一个 bat 文件,以便使用 sccm 进行无人值守安装。我从以下位置下载了 jre-7u55-windows-i586.exe http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html (jre-7u55-windows-i586 用于我们正在运行的旧版应用程序)

并随后https://www.java.com/en/download/help/silent_install.xml 并且可以进入

"%~dp0jre-7u55-windows-i586.exe“/s /v”AgreeToLicense=YES INSTALLDIR=C:\Program Files\test\test1\Java\jre1.7.0.55 IEXPLORER=1 MOZILLA=1 REBOOT=SUPRESS JAVAUPDATE=0 SYSTRAY=0”

仅当安装目录不是 C:\Program Files\ 时,上述脚本才会起作用

例如,如果

INSTALLDIR=**C:\test\**test1\Java\jre1.7.0.55

..

但我希望 INSTALLDIR 是

C:\Program Files\test\test1\Java\jre1.7.0.55

我尝试添加以下内容

INSTALLDIR="C:\Program Files\test\test1\Java\jre1.7.0.55"--- 不工作

INSTALLDIR='C:\Program Files\test\test1\Java\jre1.7.0.55'--- 不工作

/INSTALLDIR=C:\Program Files\test\test1\Java\jre1.7.0.55 --- 不工作

"INSTALLDIR=C:\Program Files\test\test1\Java\jre1.7.0.55"--- 不工作

我总是收到这个......(听起来相当具有误导性的信息)

在此处输入图片描述

我不明白为什么我无法将其安装在 C:\Program Files\test\test1\Java\jre1.7.0.55 上。我这里缺少什么?C:\Program Files\test\test1\Java\jre1.7.0.55 有什么问题。请帮忙

(我确实拥有我的帐户的管理员权限)

答案1

您可以从完整路径中得出短名称来克服问题中提到的限制。

REM Insert full path to executable here as a literal string or environment
Call :s_Install_Short "C:\Program Files\test\test1\Java\jre1.7.0.55"
Goto :EOF

:s_Install_Short
REM Block attempts to pass no parameter
If "%~1" EQU "" Goto :EOF

REM %~s1 contains the path in the first parameter as a shortened string
"%~dp0jre-7u55-windows-i586.exe" /s /v"AgreeToLicense=YES INSTALLDIR=%~s1 IEXPLORER=1 MOZILLA=1 REBOOT=SUPRESS JAVAUPDATE=0 SYSTRAY=0"

Goto :EOF

使用%~s1会变成C:\Program Files\test\test1\Java\jre1.7.0.55类似于C:\PROGRA~1\test\test1\Java\jre1.7.0.55

相关内容