首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows XP或更高版本Windows:如何在没有显示窗口的情况下在后台运行批处理文件?

Windows XP或更高版本Windows:如何在没有显示窗口的情况下在后台运行批处理文件?
EN

Stack Overflow用户
提问于 2008-11-18 12:05:26
回答 10查看 128K关注 0票数 126

我知道我已经回答了一个类似的问题(Running Batch File in background when windows boots up),但这一次我需要启动一批:

来自另一个批处理的

  • 、未显示任何控制台窗口的
  • 、将所有参数传递给不可见批处理的

第一批处理在控制台窗口中执行。但是,我不希望第二批(由第一批以异步方式启动)也显示控制台窗口。

我已经想出了一个可以做到这一点的VBScript脚本,并且我将该脚本作为answer for others to refer to,但是如果您有其他想法/解决方案,请随时贡献。

注意: Windows命令处理程序的控制台窗口被许多人命名为不是真正正确的DOS窗口。

感谢你们所有人的回答。据我所知,如果我需要异步调用脚本以在不可见模式下运行:

来自控制台窗口中的第二个脚本的

  • start /b就足够了。来自Windows的

  • ,在不触发第二个窗口的情况下,我的解决方案仍然有效。
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-11-18 12:48:48

是否需要第二个批处理文件来异步运行?通常,一个批处理文件与call命令同步运行另一个批处理文件,第二个批处理文件将共享第一个批处理文件的窗口。

你可以使用 start /b second.bat从你的第一个共享第一个窗口的批处理文件中启动第二个批处理文件。如果两个批处理文件同时写入控制台,则输出将重叠,并且可能无法识别。此外,您还需要在第二个批处理文件的末尾放置一个exit命令,否则在完成所有操作后,您将处于第二个cmd shell中。

票数 55
EN

Stack Overflow用户

发布于 2008-11-18 12:05:41

以下是一种可能的解决方案:

在第一个脚本中,使用下面的代码行调用第二个脚本:

代码语言:javascript
复制
wscript.exe invis.vbs run.bat %*

实际上,您正在使用以下命令调用vbs脚本:

  • 脚本的路径\名称
  • 脚本(%*)

所需的所有其他参数

然后,invis.vbs将使用Windows Script Host Run() method调用您的脚本,这需要:

  • intWindowStyle :0表示“不可见的windows"
  • bWaitOnReturn : false表示第一个脚本不需要等待第二个脚本完成

下面是invis.vbs:

代码语言:javascript
复制
set args = WScript.Arguments
num = args.Count

if num = 0 then
    WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
    WScript.Quit 1
end if

sargs = ""
if num > 1 then
    sargs = " "
    for k = 1 to num - 1
        anArg = args.Item(k)
        sargs = sargs & anArg & " "
    next
end if

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
票数 112
EN

Stack Overflow用户

发布于 2008-11-18 14:26:24

将批处理文件转换为exe。尝试Bat To Exe ConverterOnline Bat To Exe Converter,并选择将其作为虚拟应用程序运行的选项,即无窗口。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/298562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档