Adicione caminhos ao ambiente e inicie e aplique

1

Eu quero adicionar algumas ações do shell para executar alguns aplicativos. Esses aplicativos exigem algum ambiente definido a partir de arquivos em lote complexos.
Ou seja, minha ação deveria chamar:

c:\xxx\SetPath.bat
c:\yyy\startApp.exe

O problema é que o SetPath.bat opta pelo cmd.exe e define o ambiente E permanece dentro do cmd.exe Mas preciso definir esse ambiente e, em seguida, executar um aplicativo. Além disso, o aplicativo é um aplicativo de gui, por isso seria bom evitar a exibição do console quando eu executo o arquivo de lote do ambiente (eu posso usar o hidcon para isso).

O aplicativo gui é cygwin shell (mintty) e no login eu também preciso adicionar alguma ação :) mas não é grande coisa.

Eu vi coisas semelhantes feitas com vbs, mas não consigo me lembrar de onde.

    
por Pavel 26.07.2012 / 04:07

1 resposta

2

Normalmente, quando você executa um arquivo em lotes a partir de outro arquivo em lote, o controle é permanentemente transferido para o segundo. Se você quiser que ele seja executado e retorne, use o comando call .

Normalmente, quando você executa um comando em um arquivo em lote, o arquivo em lote aguarda o término do comando antes de passar para a próxima linha. Para que continue na próxima linha sem esperar, use o comando start .

Você precisa alterar o arquivo .bat para ler:

call  c:\xxx\setpath.bat
start c:\yyy\startapp.exe

Ele chama setpath , que é executado, retorna e começa startapp e continua até a próxima linha, que nesse caso é o fim do arquivo, para que o arquivo em lote termine e a janela do console seja fechada. deixando a execução do programa GUI.

    
por 26.07.2012 / 04:21