2 votes

Fichier batch pour ajouter les fichiers Java Cryptography Extension à la mise à jour de Java.

J'essaie d'automatiser la situation suivante sur une station de travail Windows 7.

Je n'utilise Java que pour une application d'un seul fournisseur qui exige que les fichiers de l'extension de cryptographie Java soient placés dans le dossier de l'application. \security. Cependant, à chaque mise à jour de Java, un nouveau dossier est créé, faisant référence au numéro de build de Java, et les fichiers JCE doivent être copiés à nouveau dans le nouvel emplacement.

J'espérais que JAVA définirait une variable d'environnement indiquant la dernière version, mais il ne le fait pas. Tout ce qu'il semble faire, c'est mettre à jour certains SYMLINKS qui pointent vers la nouvelle version. Cependant, comme il s'agit de liens vers des fichiers, je ne pense pas pouvoir les utiliser pour déplacer les fichiers JCE.

Mon espoir est de créer un script qui récupère les fichiers JCE à partir d'un emplacement commun, discerne le dernier chemin pour Java et copie les fichiers JCE au bon endroit.

Des suggestions ?

1voto

Ok, voici un script batch qui va trouver le dossier Java avec le numéro de build de la version la plus élevée et ensuite copier tous les fichiers de votre dossier stage dans le bon dossier (avec le numéro de version le plus élevé seulement) comme vous en avez besoin pour le Java installé sur votre machine.

J'ai aussi mis une logique IF là-dedans pour que si le \jre\lib\security n'existe pas, il le crée et effectue ensuite l'opération suivante COPY commandement.

Sauvegardez-le dans un fichier texte et nommez-le avec .cmd extension. Vous devrez peut-être l'exécuter en tant qu'administrateur ainsi que l'extension C:\Program Files(x86)\Java peut nécessiter des droits d'administrateur pour être copié dans ce dossier.

Exemple de lot script

@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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X