1

我编写了一个简单的自动更新程序,在其中我使用带有 ftp 命令的批处理文件首先下载“版本”文件,并将文本与本地“version.txt”文件进行比较 - 如果版本不同,我继续批处理脚本来下载和安装更新。

那部分很好,但是当我创建任务时(使用 setup.exe 安装程序中分发的另一个批处理文件),因为我需要它来运行我的数百个非技术精通用户 - 我想添加一个随机时间偏移到工作的开始时间,这样我就不会让所有终端在完全相同的时间访问我的服务器进行更新。

SCHTASKS.EXE /CREATE /SC DAILY /ST 10:00 /TN "我的更新任务" /TR "c:\myupdater.bat"

我需要它与 XP 和 Vista+ 一样兼容,但大多数用户群将是 XP。如何设置不同的时间,例如 10:05、10:10、10:00 等加减 10 分钟到 10:00,这样我就不会同时被 200 个客户击中?

另外,是否可以在不显示命令窗口的情况下启动作业?我已经看到使用 vb 脚本和 cmdnow 或某些第三方工具的答案,我不会将其用于兼容性、病毒扫描程序滋扰和下载要求等。

4

2 回答 2

1

您可以使用它%random%来生成您的开始时间。有一个非常有用的论坛讨论详细讨论了如何执行此操作。

要在不弹出 cmd 窗口的情况下运行批处理文件,试试这个(取自这里

start /min myfile.bat
于 2013-01-22T16:19:40.893 回答
1

我发现这篇关于如何编辑 %random% 以返回更可接受的数字的帖子。它可能对你有帮助如何在 BATCH 脚本中使用随机?.

于 2013-01-22T17:02:59.240 回答