我想使用批处理文件运行两个程序,但条件是第二个程序只能在第一个程序加载后启动,那么有没有办法使用计时器控制程序何时启动。
我也需要同样的东西,后来发现以下方法能够如愿运行:
start D:\Michal\Xming\Xming.exe -multiwindow
start D:\Michal\Xming\putty.exe
start D:\Michal\WinSCP\WinSCP.exe
所有的内容都保存在Login.bat文件中。
顺便提一下,我正在运行Win7,但我怀疑这没有任何影响。
基本上,你可以尝试这种方法(未经测试):
使用start
命令运行第一个程序。
循环检查任务列表,以查看该程序是否出现。
对该循环施加一定的时间限制。
如果成功,则运行下一个程序;否则,带有通知退出。
脚本可能是这样的:
@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
请注意,时间并不精确,特别是如果您要在任务列表检查之间插入延迟。
@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
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
我写这篇答案是因为我使用的是 Windows 10 操作系统,并且现在是2021年。 此外,这提供了一些新时代程序的更多想法,应该在任务栏中运行(在后台)。
这是我桌面上的 "Work Start.bat" 批处理文件:
rem Work Start Batch Job from Desktop
rem Launchs All Work Apps
@echo off
rem start "Start VS Code" "C:\Users\yourname\AppData\Local\Programs\Microsoft VS Code\code.exe"
start "Start OneDrive" "C:\Users\yourname\AppData\Local\Microsoft\OneDrive\OneDrive.exe"
start "Start Google Sync" "C:\Program Files\Google\Drive\GoogleDriveSync.exe"
start "Start Clipboard" "C:\Program Files\Beyond Compare 4\BCClipboard.exe"
start "Start Cisco AnyConnect" "C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
start chrome
start firefox
start skype
start "Start Teams" "C:\Users\yourname\AppData\Local\Microsoft\Teams\current\Teams.exe" /MIN
start Slack
start Zoom
sleep 10
taskkill /IM "explorer.exe"
taskkill /IM "teams.exe"
taskkill /IM "skype.exe"
taskkill /IM "slack.exe"
taskkill /IM "zoom.exe"
taskkill /IM "cmd.exe"
@echo on
rem Work End Batch Job from Desktop
rem Forcibly Closes All Work Apps
@echo off
taskkill /f /IM OneDrive.exe
taskkill /f /IM GoogleDriveSync.exe
taskkill /f /IM BCClipboard.exe
taskkill /f /IM "vpnui.exe"
taskkill /f /IM "chrome.exe"
taskkill /f /IM "firefox.exe"
taskkill /IM "explorer.exe"
taskkill /f /IM "teams.exe"
taskkill /f /IM "skype.exe"
taskkill /f /IM "slack.exe"
taskkill /f /IM "zoom.exe"
@echo on
start
或者管道,或者如果程序是一个Windows可执行文件,它就能正常工作。 - jeb