Arquivo em lote com a caixa DOS oculta? [duplicado]

0

No XP (SP3), existe uma maneira de executar um arquivo de lote sem que a caixa do DOS seja exibida (e não apenas minimizada)?

Eu tentei várias coisas, incluindo "EXIT / B", "GOTO: EOF", e ConsoleTool , sem sucesso.

Obrigado.

Edit: Aqui está uma solução simples quando precisamos apenas passar parâmetros: Adicione um atalho ao Deskop e modifique seu parâmetro Target para passar parâmetros:

"C:\Program Files\Acme\MyApp\MyApp.exe" /MYSWITCH 123
    
por OverTheRainbow 23.05.2011 / 12:25

2 respostas

2

Esta pergunta foi feita no SuperUser e tem muitas boas respostas:

A resposta principal é:

Salve esta linha de texto como arquivo invisible.vbs :

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

Para executar qualquer programa ou arquivo em lote de forma invisível, use-o da seguinte forma:

wscript.exe "C:\Wherever\invisible.vbs" "C:\Some Other Place\MyBatchFile.bat"

    
por 23.05.2011 / 12:36
0

converta o processo em lote como serviço.

Crie um novo aplicativo do Windows em C # e chame esse método do main:

public static runBatchFile (nome do arquivo string) {     Process process = new Process ();

process.StartInfo.FileName = filename;

// suppress output (command window still gets created)
process.StartInfo.Arguments = "> NULL";

process.Start();
process.WaitForExit();

}

    
por 23.05.2011 / 12:31

Tags