我试图写一个程序,将打开Chrome,等待一段时间,然后关闭Chrome,并重复。起初它是工作的,然后它开始只有开始超时,如果我手动关闭Chrome。我试过这两个代码都有同样的问题。代码1
cd C:Program Files (x86)GoogleChromeApplication
:loop
chrome.exe https://www.website.com -incognito
timeout /t 200
taskkill /F /IM chrome.exe /T > nul
goto loop
代码2 cd C:Program Files (x86)GoogleChromeApplication
:loop
chrome.exe https://www.website.com -incognito
TIMEOUT /NOBREAK /T 200>NUL
taskkill /F /IM chrome.exe /T > nul
goto loop
我对Windows Batch的了解非常有限,我通过大量的互联网搜索拼凑起来,所以问题可能非常简单,我只是没有足够的经验来看到它。感谢您的宝贵时间!
不知道为什么,但是chrome.exe是同步运行的,除非已经有另一个chrome.exe进程在运行。你第一次运行,你可能已经有chrome运行,这就是为什么你的代码按预期异步工作。但是当你TASKKILL所有的chrome进程时,它变成同步的,不再像你想的那样工作。
此问题已在http://www.dostips.com/forum/viewtopic.php?f=3&t=7242上报告。
在您的情况下,解决方案很简单-只需使用START来恢复异步行为。
cd C:Program Files (x86)GoogleChromeApplication
:loop
start "" chrome.exe http://www.dostips.com -incognito
timeout /t 200
taskkill /F /IM chrome.exe /T > nul
goto loop