我想在窗口中启动三个程序,并且它们全部在后台运行,即没有窗口。
我找到了两种方法(均使用 vb 脚本来隐藏蝙蝠)
设置 WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("H:\test.bat", 0) 设置 WshShell = Nothing http://answers.yahoo.com/question/index?qid=20071011212557AAofTy6)
SU 上还有另外一个:
将这一行文本保存为文件
invisible.vbs
:CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
要以不可见的方式运行任何程序或批处理文件,请按如下方式使用:
wscript.exe“C:\Wherever\invisible.vbs”“C:\Some Other Place\MyBatchFile.bat”
为了能够传递/传递参数列表,只需使用两个双引号
CreateObject("Wscript.Shell").Run "" & WScript.Arguments(0) & "", 0, False
例子:
Invisible.vbs "Kill.vbs ME.exe"
来源:https://superuser.com/a/62646/301368
我想要做的是打开多个程序并将它们全部在后台运行,但是当我使用它时,我必须分别启动它们每一个。
如果我使用 Linux,那就很简单了:
#!/bin/bash
./program1 -args &
./program2 -args &
./program3 -args &
如何在 Windows 中实现这一点?(我使用的是 8.1)但我猜它可能对其他版本来说足够通用。
(我接受任何 VBS / C / bat / 其他可行的解决方案)
答案1
只需使用运行方法多次并确保不等待返回(将第三个参数设置为 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
传递args
给程序:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """program1.exe""" & "args", 0, False
WshShell.Run """program2.exe""" & "args", 0, False
WshShell.Run """program3.exe""" & "args", 0, False