批处理文件以延迟方式运行多个程序

批处理文件以延迟方式运行多个程序

好吧,我对批处理还不熟悉,所以需要一些帮助。
我了解最低级别,但更复杂的事情会遇到问题。
我现在需要的是启动其他文件的文件,但周期为 30 秒左右。

Like:
Open Calculator
after 30 secs
Open Skype
after 30 secs
Open Notepad

我如何在批处理文件中实现这一点?最好不要显示 CMD 窗口。

此外,如果您可以解释时间事物如何运作,那就太好了。

答案1

无需安装任何附加软件,使用正常添加延迟的命令

ping -n <delay_in_seconds> localhost 
start calc
ping -n <delay_in_seconds> localhost
start notepad
  • 该参数-n XX代表多少应该执行 ping,而不是等待多久才执行下一个命令。两次 ping 之间的延迟通常为 1 秒。在您的示例中,您希望使用ping -n 30 localhost

  • 使用localhostping 目标,您可以 ping 自己的机器,因为我们实际上并不想发送和接收 ping 包

  • @echo off使用或抑制 CMD 输出localhost > nul


无需安装任何其他软件,您就可以使用 VBscriptRun 方法运行批处理文件并在执行时隐藏它。如果将“intWindowStyle”设置为 0,则窗口将被隐藏。

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

在与批处理文件相同的文件夹中创建一个新的文本文件并将其另存为HiddenStart.vbs
粘贴以下两行并替换<batch_file>为您的实际批处理文件名。如果批处理文件不在同一文件夹中,则在前面添加路径。

Set wShell = CreateObject ("Wscript.Shell") 
wShell.Run "cmd /c <batch_file>", 0

除了 0 作为第二个参数之外,您还可以使用以下窗口状态之一

0 隐藏窗口并激活另一个窗口。
1 激活并显示一个窗口。如果窗口被最小化或最大化,系统会将其恢复到其原始大小和位置。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 以最新大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并以当前大小和位置显示它。
6 最小化指定窗口并激活 Z 顺序中的下一个顶层窗口。
7 将窗口显示为最小化窗口。活动窗口仍然保持活动状态。
8 显示窗口的当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口最小化或最大化,系统将恢复其原始大小和位置。
10 根据启动应用程序的程序的状态设置显示状态。

最后你将得到两个文件:一个用于启动隐藏 CMD 的 VBS 文件和一个以自定义延迟启动你的程序的 CMD 本身。

在此处输入图片描述

答案2

hidecon.exe

start calc.exe
sleep 30

start "" "C:\Program Files\Skype\skype.exe"
sleep 30

start notepad.exe

相关内容