2016-11-10 2 views
-2

I Timer machen wollen, die cmd alle 2 Sek 60 Sekwie Timer innerhalb Timer im Batch machen

timeout/t 60 
timeout /t 2 
start everlast.bat 
timeout /t 2 
start everlast.bat 

ich jetzt nicht selbst macht, wie es

+0

Nun richtig bin funktionieren sollte die cmd 30 mal innerhalb von 60 Sekunden ausgeführt werden können, wenn Sie es alle 2 Sekunden ausgeführt werden soll. Daher sollte ein einfacher FOR/L-Befehl ausreichen, der 30 mal wiederholt wird. Aufgrund der Ausführungszeit der sekundären Batch-Datei könnte es länger dauern. – Squashman

Antwort

0

zu tun, sollten Sie versuchen, es besser zu erklären, was du vorhast. Ich schätze, du könntest versuchen, so etwas zu tun.

@Echo off 
Echo Start %time% 
For /l %%A in (1,1,30) Do Start everlast.bat & Timeout /t 2 
Echo End %time% 

bearbeiten Added Zeitausgabe abgelaufen

0

Zeit zu messen, wenn Sie wirklich die Zeit überprüfen wollen würde, müssen Sie die aktuelle Zeit auf Sekunden konvertieren, die Berechnungen zu tun.

@echo off 

for /F "tokens=1-4 delims=:.," %%a in ("%time%") do set /A "current=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)" 

set /A expire=current + 60 

:label 
timeout /T 2 >nul 
start "" "everlast.bat" 
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do set /A "current=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)" 
IF %current% lss %expire% GOTO label 
0
echo off 
set /a time=60 
:timer 
ping localhost -n 2 >nul 
set /a time=%time%-1 
ping localhost -n 2 >nul 
set /a time=%time%-1 
start everlast.bat 
if %time% LEQ 0 goto EOF 
goto timer 

:EOF 
exit 

, wenn ich Sie nur in der einfachsten Form