2016-07-04 8 views
0

Ich versuche, ein Programm zu schreiben, das Chrome öffnet, warten Sie kurz, dann schließen Sie Chrome, und wiederholen. Am Anfang funktionierte es und dann fing es nur an Zeit zu starten, wenn ich Chrome manuell schloss. Ich habe versucht, diese beiden Codes hatten jeweils das gleiche Problem. -Code 1Verwenden von Batch Script zum Öffnen und Schließen von Chrome aber Timeout startet nur, wenn ich schließe chrom

cd C:\Program Files (x86)\Google\Chrome\Application\ 
    :loop 
    chrome.exe https://www.website.com -incognito 
    timeout /t 200 
    taskkill /F /IM chrome.exe /T > nul 
    goto loop 

-Code 2

cd C:\Program Files (x86)\Google\Chrome\Application\ 
    :loop 
    chrome.exe https://www.website.com -incognito 
    TIMEOUT /NOBREAK /T 200>NUL 
    taskkill /F /IM chrome.exe /T > nul 
    goto loop 

Mein Wissen mit Windows-Batch ist sehr begrenzt, und ich pieced diese zusammen mit einer Menge von Internet-Recherchen, so dass das Problem ist wahrscheinlich sehr einfach und ich Ich bin einfach nicht erfahren genug, um es zu sehen. Vielen Dank für Ihre Zeit!

Antwort

1

Nicht sicher warum, aber chrome.exe wird synchron ausgeführt, sofern nicht bereits ein anderer chrome.exe-Prozess ausgeführt wird. Als Sie das erste Mal ausgeführt haben, hatten Sie wahrscheinlich bereits Chrome ausgeführt, weshalb Ihr Code asynchron wie erwartet funktionierte. Aber wenn Sie dann alle Chrome-Prozesse TASKKILL, wird es synchron und funktioniert nicht mehr wie Sie wollen.

Dieses Problem wurde gemeldet unter http://www.dostips.com/forum/viewtopic.php?f=3&t=7242.

In Ihrem Fall ist die Lösung einfach - verwenden Sie einfach START, um das asynchrone Verhalten wiederherzustellen.

cd C:\Program Files (x86)\Google\Chrome\Application\ 
:loop 
start "" chrome.exe http://www.dostips.com -incognito 
timeout /t 200 
taskkill /F /IM chrome.exe /T > nul 
goto loop 
+0

Danke, das war schön –

+0

@carolynsavas zu hören :) - eigentlich fand ich eine einfache Lösung - die aktualisierte Antwort sehen. – dbenham