在 Windows 8.1 上在后台启动多个程序

在 Windows 8.1 上在后台启动多个程序

我想在窗口中启动三个程序,并且它们全部在后台运行,即没有窗口。

我找到了两种方法(均使用 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

相关内容