Avvia più programmi in background su Windows 8.1


1

Voglio avviare (avviare) tre programmi in Windows e tutti in Background, cioè senza finestre.

Ho trovato due modi (entrambi usano lo script vb per nascondere un pipistrello)

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

E un altro qui su SU:

Salva questa riga di testo come file invisible.vbs:

CreateObject ("Wscript.Shell"). Esegui "" ""     & Amp; WScript.Arguments (0) & amp; "" "", 0,     falso

Per eseguire in modo invisibile qualsiasi programma o file batch, usalo in questo modo:

wscript.exe     "C: \ Wherever \ invisible.vbs" "C: \ Some     Altro posto \ MyBatchFile.bat "

Per essere in grado di trasmettere / inoltrare un elenco di argomenti, utilizzare solo due   virgolette

CreateObject ("Wscript.Shell"). Esegui ""     & Amp; WScript.Arguments (0) & amp; "", 0,     falso

Esempio: Invisible.vbs "Kill.vbs ME.exe" Fonte : https://superuser.com/a/62646/301368

Quello che voglio fare è aprire più programmi e tutti in background, ma quando lo uso devo iniziare ognuno di essi separatamente.

Se fossi a Linux sarebbe facile:

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

Come ottenere questo in Windows? (Sto usando l'8.1), ma immagino che potrebbe essere abbastanza generale per altre versioni.

(Accetto qualsiasi soluzione VBS / C / bat / qualunque altra cosa funzioni)


1
Se usi il & l'operatore dalla riga di comando (o un file batch), seguito da un altro comando (e un altro se si preferisce) il programma non aspetterà che l'esecuzione finisca, ma continui al comando successivo. Quindi, puoi eseguire VBScript con i tuoi comandi e incatenarli in questo modo. stackoverflow.com/questions/8055371/...
JSanchez

Risposte:


2

Basta usare il Wscript.Shell.Run metodo molte volte e assicurati di non aspettare il reso (imposta 3a arge su false).

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "program1.exe", 0, False
WshShell.Run "program2.exe", 0, False
WshShell.Run "program3.exe", 0, False

Come posso passare gli argomenti per ciascun programma? WshShell.Run "program2.exe -args", 0, False ?
Mansueli
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.