Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] подсчёт времени запущенного процесса redebook.exe

Ответить
Настройки темы
CMD/BAT - [решено] подсчёт времени запущенного процесса redebook.exe

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Мне необходим bat чтобы он вел подсчёт времени запущенного процесса redebook.exe ток чтобы не сильно грузило комп .
Возможно что то в этом роде

Код: Выделить весь код
@Echo Off

Здесь начинается сохранения времени  например сейчас 13:45:12

:test
Ping -n 4 127.0.0.1>nul 
setlocal ENABLEDELAYEDEXPANSION
Set Process=redebook
tasklist | Find /i "%Process%.exe" || (goto Else)
:THEN
goto test
Goto end
:ELSE

Здесь когда процесс завершен идёт замер нового времени 15:51:16
Ну и потом 13:45:12 - 15:51:16 = 02:06:04
НУ и обработок остального

==================================
С:\WINDOWS\system32\cmd.exe
==================================
Start : 13:45:12
Сompleted : 15:51:16
Worked : 02:06:04
Last session : 01:02:01
Total: 0 days 20:11:12

Press any key to exit
==================================

Start : Время старта
Сompleted : Время закрытия
Worked : Время работы
Last session : Последние время работы
Total: 0 days Общие дни и время работы

Общие время и последние время работы должно сохранятся в config.cfg
Этот скрипт на подобии http://forum.oszone.net/thread-234460.html Вот этой темы .
Помогите плиз )))

Отправлено: 15:32, 12-05-2012

 

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Хмм наверное я тупой )))я никак не пойму но мне надо проделать вот такое

Код: Выделить весь код
For /F "tokens=1,2,3 delims=:" %%A In ("%time:~-0,8%") Do (
Set HH=%%A
Set MM=%%B
Set SS=%%C
)

тут команда ( ждать завершения процесса пока не понял какая )

For /F "tokens=1,2,3 delims=:" %%A In ("%time:~-0,8%") Do (
Set HH2=%%A
Set MM2=%%B
Set SS2=%%C
)


потом команда

------------------------=
%HH%-%HH2%=H
%MM%-%MM2%=M
%SS%-%SS2%=S
------------------------=
вряд ли оно так )))

echo. %H%:%M%:%S% 

pause
напилите пожалуйста пример такого скрипта может разберусь ))

Anonymоus А можно спросит , какое у вас образование ? вы программист ?

Последний раз редактировалось vlad_exe@vk, 14-05-2012 в 12:25.


Отправлено: 12:18, 14-05-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата Anonymоus:
1) замерить время
2) запустить программу, дождавшись ее закрытия
3) когда батник продолжит работу после закрытия программы, еще раз замерить время и высчитать разницу.
»
Все это хорошо, только у топикстартера не сказано, что запущенный процесс redebook.exe и запускаемая программа это одно и тоже.
Если запускаемая программа Game.exe запускает процесс redebook.exe и сама закрывается, то такой вариант не сработает.

2 vlad_exe@vk нужно точнее формулировать задачу
Цитата vlad_exe@vk:
применений много , но хотя бы для игры »
Это не постановка задачи.

Здесь есть совсем простенькое решение для варианта без дочерних процессов.

Последний раз редактировалось gora, 15-05-2012 в 16:02.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:52, 15-05-2012 | #12


Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Цитата vlad_exe@vk:
Код: Выделить весь код
%HH%-%HH2%=H
%MM%-%MM2%=M
%SS%-%SS2%=S
»
Ну, если бы всё так просто было. А вот допустим, у нас старт программы в 23:55:01, а завершение в 01:12:37. Что в этом случае ваш код насчитает, 22 часа 43 минуты и -36 секунд?
Не забывайте, что минуты и секунды - это шестидесятеричная система счисления, в которой Set /A работать увы, не умеет. А часы - принятое у нас деление на 24, хорошо, что не нужно реализовывать европейское 2х12, am и pm. Следовательно, если bat не умеет работать с такими системами счисления, что нужно сделать? Перевести в понятное командному интерпретатору windows счисление, десятичное к примеру. Для этого в том примере, что был дан вам в прошлой теме, я использую две функции - сериализацию времени, и соответственно, его десериализацию. Сначала переводим все данные в секунды, это десятичное число не превышает возможностей арифметики командного процессора, и с ним можно уже работать - вычитать, прибавлять и осуществлять более сложные операции. При этом не стоит забывать о переполнении раз в сутки, тот же пример со стартом в 23:55:01 и завершением в 01:12:37. И только после всех необходимых рассчетов с сериализованным временем его можно десериализовать и вывести понятный человеку результат. Вполне логично это будет организовать в виде функций с передаваемыми им аргументами.
Цитата vlad_exe@vk:
какое у вас образование ? вы программист »
Нет. Немного балуюсь скриптовыми языками - перл, питон, но это именно что баловство. Если вы клоните к тому, что предлагаемые решения слишком сложны для гуманитария, то разочарую вас, это не так. Тут никакого матана не нужно, достаточно лишь логического мышления.

Цитата gora:
Если запускаемая программа Game.exe запускает процесс redebook.exe и сама закрывается, то такой вариант не сработает. »
Да, вы правы, я немного поспешил с выводами. Но как мне кажется, лучше всегда исходить из наиболее простого варианта, усложнить никогда не поздно, в том числе, и с отслеживанием по имени процесса\дочерним процессам.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:21, 15-05-2012 | #13


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата gora:
2 vlad_exe@vk нужно точнее формулировать задачу »
Именно! Причём, чем конкретнее, тем лучше.

Отправлено: 23:02, 15-05-2012 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] подсчёт времени запущенного процесса redebook.exe

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проверка запущенного процесса Anarasius AutoIt 2 25-06-2014 11:39
.NET - как контролировать ход выполнения запущенного процесса RUVATA Программирование и базы данных 3 31-08-2010 14:00
.NET - Получение PID процесса, запущенного из программы Delirium Программирование и базы данных 2 07-12-2009 02:17
Java - Отслеживание состояния запущенного процесса EvgeniyQQQ Программирование и базы данных 15 02-10-2007 13:20
А можно для уже запущенного процесса сменить user-a ? ukms Программирование и базы данных 6 23-10-2002 13:51




 
Переход