1

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)

  • 1
    If you use the & operator from the command line (or a batch file), followed by another command (and another one if you prefer) the program won't wait for execution to finish, but instead continue to the next command. So, you could run the VBScript with your commands, and chain them together this way. stackoverflow.com/questions/8055371/… – JSanchez Feb 28 '14 at 23:48
2

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
| improve this answer | |
  • How do I pass the args for each program ? WshShell.Run "program2.exe -args", 0, False ? – Mansueli Mar 1 '14 at 0:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.