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

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

Ответить
Настройки темы
CMD/BAT - [решено] таймер

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


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

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


приветствую,
написал таймер, но мне не нравиться как он работает, хотя работает
подскажите как это оптимизировать ну или лучшее решение, может кто сталкивался уже
читать дальше »
@echo off
Color 0e
:start
cls
Title _=Timer=_
echo ===============================================================================
echo I %date% I
echo ===============================================================================
set Mprompt=x
echo I бЄ®«мЄ® ¬Ё* ¦¤*вм?
set /p Mprompt=I

if /i %Mprompt% GTR 60 goto error else goto next
:next

set BZ=0
set TH=%time:~,2%
set TM=%time:~3,2%
set TS=%time:~6,2%
set /a BZ=%Mprompt%+%TM%
cls
echo ===============================================================================
echo I %date% I
echo ===============================================================================
echo.
echo ⥪г饥 ўаҐ¬п %TH%:%TM%:%TS%

if /i %BZ% GTR 60 (goto var1) else (goto var2)

:var1
set /a H=%BZ%/60
set /a TH=%TH%+%H%
set /a TM=%TM%+%Mprompt%
set /a TM=%TM%-60
echo в*©¬Ґа Ї®бв*ў«Ґ* ** %TH%:%TM%:%TS%

:bud_1
set TH2=%time:~,2%
set TM2=%time:~3,2%
set TS2=%time:~6,2%
if /i %TH2% NEQ %TH% goto bud_1 else goto bud_11
:bud_11
if /i %TM2% NEQ %TM% goto bud_1 else goto bud_111
:bud_111
if /i %TS2% NEQ %TS% goto bud_1 else goto next2

:var2
echo в*©¬Ґа Ї®бв*ў«Ґ* ** %TH%:%BZ%:%TS%

:bud_2
set TH2=%time:~,2%
set TM2=%time:~3,2%
set TS2=%time:~6,2%
if /i %TH2% NEQ %TH% goto bud_2 else goto bud_22
:bud_22
if /i %TM2% NEQ %BZ% goto bud_2 else goto bud_222
:bud_222
if /i %TS2% NEQ %TS% goto bud_2 else goto next2

:next2
start c:\timer\sw ;вот это по идее должно свернуть все окна, незнаю как реализовать- сделал ссылку на ярлык
start /max c:\timer\text.txt
goto end

:error
cls
echo ===============================================================================
echo I %date% I
echo ===============================================================================
echo I Ћ˜?ЃЉЂ: Є®«ЁзҐбвў® ¬Ё*гв *Ґ ¬®¦Ґв Ўлвм Ў®«миҐ 60 !
echo.
pause
goto start

:end
exit

не нравится то что сравнение происходит постоянно, что вызывает нагрузку на процессор
и второй вопрос- подскажите как выполнить команду "свернуть все окна"

Отправлено: 14:55, 25-12-2009

 

Старожил


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

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


Есть легкий и надежный способ отмерить нужное кол-во секунд не нагружая процессор:

Код: Выделить весь код
set Timer=120
ping -n %Timer% 127.0.0.1>nul
Думаю, что сгодится для 99% задач

-------
Как сказало Дерево Дровосеку: "я - пень".

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

Отправлено: 16:21, 25-12-2009 | #2



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

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


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


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

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


Цитата NiOl:
Есть легкий и надежный способ отмерить нужное кол-во секунд не нагружая процессор:
Код:
set Timer=120
ping -n %Timer% 127.0.0.1>nul
Думаю, что сгодится для 99% задач »
хм.. легко, изящно, работает.. спасибо

подскажите еще как из командной строки выполнить "свернуть все окна" и пожалуй тема будет закрыта

Отправлено: 17:38, 25-12-2009 | #3


Аватара для Sarus

Новый участник


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

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


Цитата firstarey:
подскажите еще как из командной строки выполнить "свернуть все окна" и пожалуй тема будет закрыта »
Воспользоваться cmdow.exe
Код: Выделить весь код
@Echo off
Rem Свернуть все окна
Cmdow /MA
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:17, 26-12-2009 | #4


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата firstarey:
подскажите еще как из командной строки выполнить "свернуть все окна" »
Код: Выделить весь код
"%APPDATA%\Microsoft\Internet Explorer\Quick Launch\Свернуть все окна.scf"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:37, 26-12-2009 | #5


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


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

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


Свернуть все окна

******.vbs
Set objShellApp = CreateObject("Shell.Application")
objShellApp.MinimizeAll
WScript.Sleep 300
objShellApp.UndoMinimizeAll

Последний раз редактировалось deepred, 17-06-2010 в 22:50.

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

Отправлено: 20:45, 17-06-2010 | #6


Старожил


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

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


El Sanchez, У меня Ваш вариант не сработал по нескольким объективным причинам, но идея отличная и реализовать ее можно так:
Код: Выделить весь код
(echo [Shell] & echo Command=2 & echo [Taskbar] & echo Command=ToggleDesktop)>%Temp%\SD.scf
start /wait %Temp%\SD.scf
del /f %Temp%\SD.scf

-------
Как сказало Дерево Дровосеку: "я - пень".

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

Отправлено: 17:44, 18-06-2010 | #7


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


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

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


Вариант таймера с использованием js
*******************************

*****.bat

@set @x=0 /*
@echo off

:: Ставим паузу
cscript //nologo /e:jscript "%~f0" 5000

exit /b
*/
WScript.Sleep(WScript.Arguments(0))

-----------------------------------------
прим. задержка в мсек., чтобы иметь возможность устанавливать время в сек. необходимо обработать аргумент, т.е.
в последней строке нужны следующие изменения:

WScript.Sleep(WScript.Arguments(0)*1000) тем самым число аргумента увеличилось в 1000 раз
и "перешло в секунды" .

Последний раз редактировалось deepred, 21-06-2010 в 00:53.

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

Отправлено: 00:23, 21-06-2010 | #8


Googler


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

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


Цитата deepred:
Вариант таймера с использованием js »
класс!.. спасибо, жаль в VBS нет многострочных комментов

Отправлено: 06:02, 21-06-2010 | #9


Новый участник


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

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


Цитата firstarey:
подскажите еще как из командной строки выполнить "свернуть все окна" и пожалуй тема будет закрыта »
Win7
HTML код: Выделить весь код
"%APPDATA%\Microsoft\Internet Explorer\Quick Launch\shows desktop.lnk"


Отправлено: 03:57, 30-05-2018 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - [решено] Как отключить таймер перед проверкой дисков в WinXP? GSA_GSA Microsoft Windows 2000/XP 1 24-06-2009 11:41
[решено] Таймер на Input FlatX007 AutoIt 8 31-05-2009 17:16
Таймер на JS Vlad Drakula Вебмастеру 8 16-04-2005 22:01
Таймер на js Guest Вебмастеру 7 25-08-2004 12:31
таймер Guest Вебмастеру 1 05-02-2004 23:58




 
Переход