我正在尝试在 Windows 7 工作站上自动执行以下情况。
我只将 Java 用于需要将 Java 加密扩展文件放置在 \security 中的单个供应商应用程序。但是,每次 Java 更新时,都会创建一个引用 Java 内部版本号的新文件夹,并且必须将 JCE 文件再次复制到新位置。
我希望 JAVA 可以设置指向最新版本的环境变量,但它没有。它似乎所做的最多就是更新指向新版本的一些 SYMLINKS。但是,由于这些是文件链接,我认为我不能使用它们来移动 JCE 文件。
我希望创建一个脚本,从公共位置获取 JCE 文件,辨别 Java 的最新路径,并将 JCE 文件复制到适当的位置。
有什么建议么?
答案1
好的,这里有一个批处理脚本,它将找到具有最高版本构建号的 Java 文件夹,然后根据您在机器上安装的 Java 的需要,将所有文件从您的阶段文件夹复制到正确的文件夹(仅具有最高版本号)。
我还在其中放入了一些 IF 逻辑,因此如果\jre\lib\security
目录不存在,它就会创建它,然后执行COPY
命令。
将其保存为文本文件并加上.cmd
扩展名。您可能需要以管理员身份运行此文件,并且该C:\Program Files(x86)\Java
文件夹可能需要管理员权限才能复制到其中。
批处理脚本示例
@ECHO ON
SETLOCAL
SET StageDir=C:\pathtojre
CD /D %programfiles(x86)%\Java
FOR /F "TOKENS=*" %%F in ('DIR /B /AD /ON java*') DO (
SET HighestNumDir=%%F
)
SET HighNumFullDir=%programfiles(x86)%\Java\%HighestNumDir%\jre\lib\security
IF NOT EXIST "%HighNumFullDir%" MD "%HighNumFullDir%"
COPY /Y "%StageDir%\*.*" "%HighNumFullDir%"
EXIT /B
::::GOTO EOF