Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Таймер обратного отсчёта (http://forum.oszone.net/showthread.php?t=327727)

subuday77 19-06-2017 22:25 2745947

Таймер обратного отсчёта
 
Здравствуйте все.
Я тут такую штуку написал, может, пригодится кому.
Можно Timeout выставить или отсрочку выполнения, например.

Код:

@echo off
MODE CON COLS=32 LINES=10
color 2F
set A=000
title BOOOOOM!
:1
echo How many seconds to countdown?
set /p A=
set /a x=%A%
if %A% == 0 (goto start)
if %x% neq 0 (goto start)
echo Enter number please
goto 1
:start
set T=%time:~6,2%
:2
set T1=%T%
if %T1% neq %time:~6,2% (
set /a A=%A%-1 & set T=%time:~6,2%
cls
echo:
echo ================================
echo              %A%
echo ================================
echo:
)
if %A% LSS 0 (
cls
color 4f
echo:
echo ================================
echo          Kaboooom!!!!
echo ================================
echo:
goto end
)
goto 2
:end
pause


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

Код:

@echo off
MODE CON COLS=50 LINES=10
color 2F
setlocal enabledelayedexpansion
set A=15
title Lock PC with TeamViewer
set T=%time:~6,2%
:2
set T1=%T%
if %T1% neq %time:~6,2% (
set /a A=%A%-1 & set T=%time:~6,2%
cls
echo:
echo:    After 15 seconds this PC will be locked
echo: To avoid it press CTRL + C or close this window
echo:          ================================
echo:                        %A%
echo:          ================================
echo:
)
if %A% LSS 0 (
cls
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq TeamViewer.exe" /FI "username eq %username%"') DO IF %%x NEQ TeamViewer.exe start  "" "C:\Program Files (x86)\TeamViewer\TeamViewer.exe"
rundll32.exe user32.dll, LockWorkStation
exit
)
goto 2

Как-то так. Пользуйтесь на здоровье! :up

megaloman 19-06-2017 22:51 2745962

subuday77,
Может проще использовать Choice?
Код:

@Echo Off
Cls

Echo %Time%

CHOICE /C 1 /T 20 /D 1 /M "Ждём 20 сек. 1 - Ускорить"

Echo %Time%

pause

Или, если хочется, вообще не видно чойса
Код:

@Echo Off
Cls

Echo %Time%

CHOICE /C 1 /T 20 /D 1 /M "Ждём 20 сек. 1 - Ускорить" >nul

Echo %Time%

pause


subuday77 19-06-2017 23:08 2745967

Можно, конечно.
Но:
а - не пойдёт под ХР
б - не покажет отсчёт

Iska 20-06-2017 05:03 2746014

Ещё один вариант на тему «Как загрузить бессмысленной работой процессор на 100%»?

greg zakharov 20-06-2017 08:44 2746032

Iska, ну шоб не простаивал :)


Время: 10:11.

Время: 10:11.
© OSzone.net 2001-