I want to start (launch) three programs in windows and all of them in Background i.e. No windows.
I found two ways (both using vb script to hide a bat)
Set WshShell = WScript.CreateObject("WScript.Shell") obj =
WshShell.Run("H:\test.bat", 0) set WshShell = Nothing
http://answers.yahoo.com/question/index?qid=20071011212557AAofTy6)
And another one here on SU:
Save this one line of text as file
invisible.vbs
:
CreateObject("Wscript.Shell").Run """"
& WScript.Arguments(0) & """", 0,
False
To run any program or batch file invisibly, use it like this:
wscript.exe
"C:\Wherever\invisible.vbs" "C:\Some
Other Place\MyBatchFile.bat"
To also be able to pass-on/relay a list of arguments use only two
double quotes
CreateObject("Wscript.Shell").Run ""
& WScript.Arguments(0) & "", 0,
False
Example:
Invisible.vbs "Kill.vbs ME.exe"
Source : https://superuser.com/a/62646/301368
What I want to do is to open multiple programs and all of them in background, but when I use this I have to start each one of them separately.
If I were in linux it would be easy:
#!/bin/bash
./program1 -args &
./program2 -args &
./program3 -args &
How to achieve this in windows ? (I am using the 8.1) but I'd guess it might be general enough for other versions.
(I Accept any solutions VBS / C / bat / whatever else works)
Answer
Just use the Wscript.Shell.Run method many times and make sure you don't wait on return (set 3rd arge to 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
No comments:
Post a Comment