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

Показать сообщение отдельно

Старожил


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

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


Отлаживал тут запуск скрипта синхронизации (виндовый шедул упорно игнорировал задания созданные ручками, но команда AT отрабатывалась нормально) и наткнулся на интересную вещь: даже если вход в систему произведен, команда at исполняет задания под записью дефолтного пользователя и ее результаты на экране не отображаются! Вобщем получился своеобразный запуск в фоновом режиме...

выглядит прмерно так:

Код: Выделить весь код
@echo off
rem Маркер запуска. Если параметр - "тильда", значит выполняемся в фоновом режиме
if "%1"=="~" goto Main  

set h=%time:~0,-3%
set s=%h:~-2%&set m=%h:~3,2%&set h=%h:~0,2%
rem Даем резерв 10 секунд на отработку команды at. (Если до следующей минуты меньше 10 секунд - прибавляем 2 минуты вместо одной)
if /i %s% gtr 50 (set /a m+=2) else set /a m+=1

rem Корректируем время до 60 минут и 24 часов
if /i %m% gtr 59 (set /a h+=1&set /a m-=60)
if %h%==24 set h=0

at %h%:%m% %0 ~
exit

:Main
rem Далее все от имени "Пользователь-по-умолчанию" и скрыто от глаз...
echo 

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

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

Отправлено: 18:02, 29-07-2010 | #26