在没有窗口的计划任务中运行.bat文件

Modified on: Wed, 13 Nov 2019 14:00:02 +0800

我有一个计划任务,每小时启动一个运行robocopy的批处理脚本。每次运行时都会在桌面上弹出一个带有robocopy输出的窗口,我真的不想看到它。

我设法通过预定的作业运行使窗口显示为最小化

cmd /c start /min mybat.bat

但是每小时都会给我一个新的命令窗口。我对此感到惊讶,给定cmd /c“执行string指定的命令然后终止” - 我一定误解了文档。

有没有办法在不弹出cmd窗口的情况下运行批处理脚本?

最佳答案

您可以使用Windows脚本文件以静默方式运行它。 “运行方法”允许您以不可见模式运行脚本。像这样创建一个.vbs文件

Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0
Set WinScriptHost = Nothing

并安排它。此示例中的第二个参数设置窗口样式。 0表示“隐藏窗口。”

运行方法的完整语法:

 object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

参数:强>

  • object:WshShell对象。
  • strCommand:表示要运行的命令行的字符串值。您必须包含要传递给可执行文件的任何参数。
  • intWindowStyle:可选。整数值,表示程序窗口的外观。请注意,并非所有程序都使用此信息。
  • bWaitOnReturn:可选。布尔值,指示脚本是否应等待程序完成执行,然后再继续执行脚本中的下一个语句。如果设置为true,则脚本执行将暂停,直到程序完成,Run将返回程序返回的任何错误代码。如果设置为false(默认值),Run方法在启动程序后立即返回,自动返回0(不被解释为错误代码)。

相关问答

添加新评论