![]() |
Как в .bat сделать секундомер?
Здравствуйте! Не подскажете как в .bat можно было бы сделать секундомер?
Например мы его открываем и там появляется: Прошло 0 дн. 13ч. 11мин. 5сек. Чтобы считал после открытия |
Я сделал примерный код, но у меня есть проблема - секунды/минуты и тд. после прохождения не обнуляются.
То есть: Прошло 179346 сек. 2989,1 мин. 49,8 ч. 2 дн. Я хотел бы сделать так чтобы после прохождения 60сек. они обнулялись и начинали сначала "1 2 3 4", при этом переходя в минуты. Вот мой код: @echo off set var=peremenna9 set /a var=1 goto st :loop ping -n 2 127.0.0.1 > nul :st title Счётчик работает %var% сек cls Echo. Echo. Echo. Echo (пк)Счётчик работает %var%сек. %mn% мин. %ho%ч. %dn%дн. set /a var+=1 set /a mn=%var%/60 set /a ho=%mn%/60 set /a dn=%ho%/24 color e goto loop |
DenchickDenchick, а) так секундомеры не пишут, б) работать с датой/временем на пакетных файлах можно, но чересчур муторно и ненаглядно.
|
DenchickDenchick, только получается программу написать хотели вы, а написал ее вместо вас я, типа украл идею.
Код:
@echo off |
alpap, спасибо за помощь, но здесь что-то немного не так. Скорее всего я не совсем верно сформулировал свой вопрос :dont-know
После прохождения 60 сек он переходит в 1 мин, но после повторного прохождения 60 сек далее не прибавляются минуты, часы, дни и так далее. |
Самое забавно начнется когда эта штука заработает. Тогда я предложу заценить разницу между этим "секундометром" и обычным на промежутке времени, например, в сутки.
|
Цитата:
Код:
@echo off Цитата:
|
Я лично вообще не понимаю, в чём смысл авторского видения вопроса. Во-первых, как уже было неоднократно сказано, код считает не секунды, а время исполнения утилиты ping.exe. Во-вторых, ничего ценного и полезного, окромя вышеуказанного, код не делает (и не может делать в принципе). Так что на самом деле было нужно?
|
Iska, да так, ради интереса.
|
DenchickDenchick,
Если не жалко грузить процессор дурной работой, то из любви к абстрактному искусству:
Код:
@Echo Off TimeOut /T 1 >nul Это снизит дурную нагрузку на процессор, но, возможно, некоторое значение секунд при отображении будет пропущено. Но накопление погрешности отображения секунд в случае, как это было у alpap, не будет |
Думаю высшей стадией этого приложения если оно еще и считало погрешность, сделать это можно путем добавления в цикл еще одного секундомера только считающего не от нуля, а от текущего времени, далее сравнивало внутренние часы с оригинальным временем и при выявлении погрешности отнимало нужное время от секундомера... Да и для корректного отображения русских букв хорошо бы добавить изменение кодировки в начало скрипта
|
Время: 23:53. |
Время: 23:53.
© OSzone.net 2001-