Arquivo em lote para incluir arquivos Java Cryptography Extension em Java atualizado

2

Estou tentando automatizar a seguinte situação em uma estação de trabalho do Windows 7.

Eu uso o Java apenas para um único aplicativo de fornecedor que requer que os arquivos do Java Cryptography Extension sejam colocados em \ security. No entanto, toda vez que o Java é atualizado, uma nova pasta é criada referenciando o número de compilação do Java e os arquivos JCE precisam ser copiados novamente para o novo local.

Eu esperava que o JAVA pudesse definir uma variável de ambiente que apontasse para a versão mais recente, mas não. O máximo que parece fazer é atualizar alguns SYMLINKS que apontam para a nova versão. No entanto, uma vez que estes são links para arquivos, eu não acho que eu possa usá-los para mover os arquivos JCE.

Minha esperança é criar um script que pegue os arquivos JCE de um local comum, identifique o caminho mais recente para Java e copie os arquivos JCE no local adequado.

Alguma sugestão?

    
por tcv 21.11.2015 / 17:25

1 resposta

1

Ok, aqui está um script em lote que encontrará a pasta Java com o maior número de versão e copiará todos os arquivos de sua pasta de estágio para a pasta correta (somente com o número de versão mais alto) conforme necessário para o Java instalado sua máquina.

Eu também coloquei uma lógica IF lá, então se o diretório \jre\lib\security não existir, ele irá criá-lo e então o comando COPY .

Salve isso em um arquivo de texto e nomeie com .cmd extension. Talvez seja necessário executá-lo como administrador, assim como a pasta C:\Program Files(x86)\Java pode exigir permissões de administrador para copiar para ele.

Exemplo de script em lote

@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
    
por 21.11.2015 / 23:39