相关疑难解决方法(0)

Windows 脚本 - 静默运行但等待完成/返回正确的代码

这是我的情况:

  • 我有一个需要很长时间才能运行的 BAT 文件(1 分钟到 70 分钟)
  • 我用 Windows 调度程序安排它每 10 分钟运行一次
  • 如果它仍在运行时再次调度,则不会发生任何事情(这很好)

我的问题是我需要我的 BAT 静默运行,但事实并非如此。因此,我想使用如下所示的 Windows 脚本启动它:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我安排这个脚本时,它完成了工作,但立即返回,使 Windows 调度程序认为任务已经完成,而实际上 BAT 只是在某处自行运行。

因此,Windows 将在 10 分钟后再次重新安排作业并进行多次运行。

我需要的:

有没有办法告诉 Windows 脚本文件在继续/退出之前等待 .Run 命令的目标完成?基本上,我希望它表现得像我启动了另一个线程,然后在它上面调用了 join,所以它做的事情和 BAT 一样,但不显示控制台窗口。

其他解决方案

告诉我任何其他方式让这个 BAT 静默执行(powershell 命令,无论如何),我也会接受它作为解决方案。只是不要告诉我围绕它编写完整的 C++/C# 应用程序,这太过分了:)


运行: Windows Server 2008 R2

windows deployment batch-file scheduled-tasks windows-scripting

4
推荐指数
2
解决办法
3万
查看次数