Security Lab

At (at.exe)

At (at.exe)

Запуск программ и команд в заданное время

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

Синтаксис

at [\\имя_компьютера] [{[код] [/delete]|/delete [/yes]}]

at [[\\имя_компьютера] часы:минуты [/interactive] [{/every:дата[,...]|/next:дата[,...]}] команда]

Параметры

\\имя_компьютера
Задание удаленного компьютера, на котором могут быть запущены команды и программы. Если этот параметр не задан, предполагается, что они будут запущены на том компьютере, где выполняется команда at.
код
Указание идентификационного номера, присваиваемого команде или программе, которая будет запущена.
/delete
Отмена выполнения команды. Если идентификатор Код не задан, все запланированные команды на компьютере будут отменены.
/yes
Задание утвердительного ответа на все запросы системы при отмене запланированных событий.
часы:минуты
Задание времени запуска команды. Время задается в 24-х часовом формате часы:минуты (от 00:00 [полночь] до 23:59).
/interactive
Обмен данными с помощью команды с теми пользователями, которые работают в системе в момент выполнения запланированной команды.
/every:
Выполнение команды в указанный день или дни в течение недели или месяца (например каждый четверг или каждый третий день месяца).
дата
Задание даты выполнения команды. Имеется возможность указать один или несколько дней недели (т. е. ввести M,T,W,Th,F,S,Su) либо один или несколько дней месяца (т. е. ввести числа в диапазоне от 1 до 31). Несколько дат разделяются запятыми. Если параметр дата не задан, в команде at используется текущий день месяца.
/next:
Выполнение команды при наступлении следующей заданной даты (например в следующий четверг).
команда
Задание команды Windows, программы (т. е. файл .exe или .com) или пакетного файла (т. е. файл .bat или .cmd), которые требуется выполнить. Если для задания команды необходимо указывать ее местоположение, имя файла задается полностью, с указанием пути и диска. Если команда запускается на удаленном компьютере, укажите имя сервера и сетевое имя в стандартном формате записи пути (UNC), а не имя диска этого компьютера.
/?
Отображение справки в командной строке.

Заметки

  • Команда Schtasks является более мощным, расширенным средством планирования заданий с помощью командной строки и включает в себя все функциональные возможности команды at. Для планирования заданий с командной строки используйте команду schtasks вместо at. Для получения дополнительных сведений о команде schtasks щелкните ссылку "См. также".

  • Использование at

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

  • Загрузка программы Cmd.exe

    Команда at не вызывает автоматически командный процессор Cmd.exe перед запуском команды. Если запускается не исполняемый (.exe) файл, перед командой должен быть явно загружен командный процессор Cmd.exe, например:

    cmd /c dir > c:\test.out

  • Просмотр запланированных команд

    Если команда at используется без параметров, запланированные задания выводятся в таблице следующего вида:

    Состояние  Код   День       Время        Командная строка
    OK      1    Каждый F    4:30 PM     net send group leads status due
    OK      2    Каждый M    12:00 AM    chkstor > check.file
    OK      3    Каждый F    11:59 PM    backup2.bat
  • Включение идентификационного номера (код)

    Если в командной строке для команды at указан идентификационный номер (код), выводятся сведения об одной записи, имеющие следующий вид:

    Код задачи:      1

    Состояние: OK

    Дата: Каждый F

    Время дня: 4:30 PM

    Команда: net send group leads status due

    После того как запуск команды запланирован с помощью at, особенно если запускаемая команда имеет дополнительные параметры, проверьте правильность ее ввода, вызвав at без параметров. Если сведения в столбце «Командная строка» содержат ошибки, удалите запись о данной команде в списке запланированных команд и повторно введите данные. Если по-прежнему имеют место ошибки, введите команду с меньшим числом параметров.

  • Просмотр результатов

    Команды, запуск которых задан с помощью at, выполняются как фоновые процессы. Сведения не отображаются на экране компьютера. Для перенаправления вывода в файл используется символ перенаправления (>). Если вывод перенаправляется в файл, необходимо использовать управляющий символ (^) перед символом перенаправления независимо от того, используется ли at в командной строке или в пакетном файле. Например, чтобы перенаправить вывод в файл Output.txt, введите:

    at 14:45 c:\test.bat ^>c:\output.txt

    Текущим каталогом для выполнения запланированных команд является системный_корневой_каталог.

  • Изменение системного времени

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

  • Сохранение запланированных команд

    Запланированные команды сохраняются в реестре. Таким образом, запланированные задания не будут потеряны при перезапуске службы расписаний.

  • Подключение к сетевым дискам

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

    at 13:00 my_backup \\server\share

    Запрещается использовать следующий синтаксис, где x: — подключение, устанавливаемое пользователем:

    at 13:00 my_backup x:

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

Примеры

Для вывода списка команд, которые будут выполнены на сервере Marketing, можно использовать следующую команду:

at \\marketing

Для получения дополнительных сведений о команде с идентификатором 3 на сервере Corp требуется ввести следующую команду:

at \\corp 3

Для запуска команды net share на сервере Corp в 8:00 и перенаправления вывода на сервер Maintenance в общий каталог Reports в файл Corp.txt требуется ввести следующую команду:

at \\corp 08:00 cmd /c "net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt"

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

at \\marketing 00:00 /every:5,10,15,20,25,30 archive

Чтобы отменить вызов всех команд, запланированных на данном сервере, необходимо очистить расписание команды at следующим образом:

at /delete

Чтобы запустить команду, которая не является исполняемым файлом, введите перед ней cmd /c для загрузки программы Cmd.exe следующим образом:

cmd /c dir > c:\test.out