Lança vários programas em segundo plano no windows 8.1

1

Eu quero iniciar (iniciar) três programas no Windows e todos em segundo plano, ou seja, sem janelas.

Eu encontrei duas maneiras (ambas usando script vb para esconder um morcego)

Set WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("H:\test.bat", 0) set WshShell = Nothing http://answers.yahoo.com/question/index?qid=20071011212557AAofTy6)

E outro aqui na SU:

Save this one line of text as file 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"

     

Para também poder passar / retransmitir uma lista de argumentos, use apenas dois   aspas duplas

     

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

     

Exemplo: Invisible.vbs "Kill.vbs ME.exe"   Fonte: link

O que eu quero fazer é abrir vários programas e todos eles em segundo plano, mas quando eu uso isso eu tenho que começar cada um deles separadamente.

Se eu estivesse no linux, seria fácil:

#!/bin/bash
./program1 -args &
./program2 -args &
./program3 -args &

Como conseguir isso no Windows? (Eu estou usando o 8.1), mas eu acho que pode ser geral o suficiente para outras versões.

(Eu aceito qualquer solução VBS / C / bat / o que mais funciona)

    
por Mansueli 28.02.2014 / 23:19

1 resposta

2

Basta usar o método Wscript.Shell.Run muitas vezes e certifique-se de não esperar no retorno (defina 3ª arge como falsa).

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "program1.exe", 0, False
WshShell.Run "program2.exe", 0, False
WshShell.Run "program3.exe", 0, False
    
por 01.03.2014 / 01:04