"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso executar um arquivo em lote a partir de um aplicativo Java?

Como posso executar um arquivo em lote a partir de um aplicativo Java?

Postado em 2025-02-06
Navegar:266

How Can I Run a Batch File from a Java Application?

executando arquivos em lotes em java Applications

em java, executando um arquivo em lotes que inicia ações como "scons -q implícito-deps-changed build \ file_load_type export \ file_load_type "pode ​​parecer desafiador. CMD no Windows. Ao contrário dos arquivos de script do Unix que utilizam o shebang (#!) Para especificar o programa de execução, os arquivos em lote não têm esse mecanismo. tentou executar o arquivo em lote usando "runtime.getRuntime (). Exec (" build.bat ", null, novo arquivo (". "))", não teria sucesso porque assumiu que a execução direta era possível.

A solução: Utilizando CMD

A chave para superar esse desafio é usar o comando cmd para executar o arquivo em lote. Aqui está o código java corrigido:

runtime.getRuntime (). Exec ("cmd /c start \" \ "build.bat"); Adicionando "cmd /c start \" \ "" Para o início do comando, você invoca uma janela de comando que executa o arquivo em lote. O argumento inicial "\" cria uma janela de comando separada com um título em branco para exibir qualquer saída. Como alternativa, o uso de "cmd /c build.bat" sem start \ "\" omite a janela de comando separada e permite que a saída seja lida no java.

implementar essa alteração deve habilitar seu aplicativo Java para acionar com êxito a execução da execução de arquivos em lote e execute as ações desejadas.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3