Codigo para registrar dll em java

Boa noite!!!

Sou novo aqui e não conheço a fundo programação fiz curso Java Oo dua vezes e não peguei nada pois estes cursos passam bem rapido e não consegui absorver tudo e muito rapido e não é para iniciantes como eu do zero.E por falta de tempo para praticar e estudar, então…Sou analista de sistema e trabalho com um programa que necessida de fazer o registro de varias dlls, para o funcionamento dele então criei um BAT muito bom e funcional. Mas agora estou querendo criar uma interface em java para execução.

Procurei por varios exemplos e nenhum exemplo claro de como devo começar meu codigo. Preiciso de codigo simples para registrar varias dlls de uma pasta.

No bat faço assim

FOR %%f in (c:\Sistema\menu*.dll)do call %windir%\System32\regsvr32 %%f /s

Este codigo acima no bat registrar todas as dll dentro desta pasta com exito

E utilizo este para mesclar arquivos.
for %%f in (c:\Sistema\menu*.reg) do call %windir%\System32\REG IMPORT %%f

Então estou tentando no java, mas não sei como faço, na verdade a unica coisa que fiz foi criar o projeto/pacote/ e uma classe registrar rsss.

preciso de dicas de como montar este codigo para regitrar as dlls e importar os registros

Podes executar esses comandos do Windows utilizando o método exec da classe Runtime.

import java.io.File;
import java.io.FileFilter;

public class Exemplo {

    public static void main(String[] args) {
        try {
            Exemplo programa = new Exemplo();
            programa.executar();
        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    private final File pastaSistema;
    private final File pastaSystem32;
    private final FileFilter arquivosMenuDll;
    private final FileFilter arquivosMenuReg;

    public Exemplo() {
        pastaSistema = new File("C:\\Sistema");
        pastaSystem32 = new File(System.getenv("windir"), "System32");
        arquivosMenuDll = new FileFilter() {

            @Override
            public boolean accept(File arquivo) {
                String nome = arquivo.getName();
                return nome.startsWith("menu") && nome.endsWith(".dll");
            }
        };
        arquivosMenuReg = new FileFilter() {

            @Override
            public boolean accept(File arquivo) {
                String nome = arquivo.getName();
                return nome.startsWith("menu") && nome.endsWith(".reg");
            }
        };
    }

    public void executar() {
        File[] dlls = pastaSistema.listFiles(arquivosMenuDll);
        for (File dll : dlls) {
            executarLinhaDeComando(pastaSystem32, "regsvr32", dll.getAbsolutePath(), "/s");
        }

        File[] regs = pastaSistema.listFiles(arquivosMenuReg);
        for (File reg : regs) {
            executarLinhaDeComando(pastaSystem32, "REG", "IMPORT", reg.getAbsolutePath());
        }
    }

    private void executarLinhaDeComando(File pasta, String... linhaDeComando) {
        try {
            Runtime ambienteExecucao = Runtime.getRuntime();
            Process processo = ambienteExecucao.exec(linhaDeComando, null, pasta);
            processo.waitFor();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

:grinning: Grato, vou testar estava revendo conceitos java. Mas nada na minha mente, vou testar e te dou retorno. Obrigado.