Overview
In computing, at is a command in Unix-like operating systems, Microsoft
Windows, and ReactOS used to schedule commands to be executed once, at a particular time in the future.
Design
Unix-like
On Unix-like operating systems, at reads a series of commands from standard input and collects them into one "at-job" which is carried out at a later date. The job inherits the current environment, so that it is executed in the same working directory and with the same environment variables set as when it was scheduled.
It differs from cron, which is used for recurring executions (e.g. once an hour, every Tuesday, January 1 every year). As with cron, many Unix systems allow the administrator to restrict access to the at command.
at can be made to mail a user when done carrying out a scheduled job, can use more than one job queue, and can read a list of jobs to carry out from a file instead of standard input.
The Linux at command was mostly written by Thomas Koenig.
Microsoft Windows and ReactOS
In addition to the graphical user interface for Windows Task Scheduler in Control Panel, Windows provides an at.exe command that schedules commands and programs to run on a computer at a specified time and date (similar to cron). It is available since Windows NT, but is now deprecated in favor of schtasks. It can only be used when the Schedule service is running. When used without parameters, at.exe lists scheduled commands.
at.exe cannot access tasks created or modified by Control Panel or schtasks.exe. Also, tasks created with at.exe are not interactive by default; interactivity needs to be explicitly requested.
From Wikipedia (CC BY-SA 4.0).