如何使用批处理文件运行多个程序

sri*_*sar 15 batch-file

我喜欢使用批处理文件运行两个程序,但条件是,第二个程序必须在第一个程序加载后启动,所以有没有办法控制使用计时器来控制程序何时启动.

Rao*_*Rao 14

我需要同样的东西,并发现以下事情按预期工作:

start D:\Michal\Xming\Xming.exe -multiwindow
start D:\Michal\Xming\putty.exe
start D:\Michal\WinSCP\WinSCP.exe
Run Code Online (Sandbox Code Playgroud)

它全部保存在Login.bat文件中.

顺便说一句,我正在运行Win7,但我怀疑这有什么影响.


And*_*y M 13

基本上,您可以尝试这种方法(未经测试):

  1. 使用该start命令运行第一个程序.

  2. 在循环中检查任务列表以查看程序是否已出现在那里.

  3. 对所述循环施加一些时间限制.

  4. 如果成功则运行下一个程序,否则退出通知.

脚本可能如下所示:

@ECHO OFF
START program1.exe
FOR /L %%i IN (1,1,100) DO (
  (TASKLIST | FIND /I "program.exe") && GOTO :startnext

  :: you might add here some delaying
)
ECHO Timeout waiting for program1.exe to start
GOTO :EOF

:startnext
program2.exe
:: or START program2.exe
Run Code Online (Sandbox Code Playgroud)

请记住,时间不准确,特别是如果要在任务列表检查之间插入延迟.


eng*_*hay 8

我认为这可能与此无关,但想分享以下内容:

我创建了以下批处理文件,每当我在办公室打开笔记本电脑打开相关程序时,只需单击一下即可运行它.将此文件保存在Desktop并创建了一个文件夹,我将所有快捷方式都放在相关程序中.因此,我在批处理文件中运行这些快捷方式,如下所示:

@ECHO off

start C:\Users\User1\Desktop\Softwares\IE
start C:\Users\User1\Desktop\Softwares\Googletalk
start C:\Users\User1\Desktop\Softwares\YahooMessenger
start C:\Users\User1\Desktop\Softwares\Program4
start C:\Users\User1\Desktop\Softwares\Program5
Run Code Online (Sandbox Code Playgroud)


sri*_*sar 5

我还找到了一个小技巧来做到这一点,只需使用带有 -n 开关的 ping 命令,如下所示:

start /d "C:\Program Files (x86)\Mobile Partner\" MobilePartner.exe
ping 127.0.0.1 -n 8
start /d "F:\Other Applcations\System Tools\OS Tweak\" dragfullwindows.exe
Run Code Online (Sandbox Code Playgroud)