Timeout will pause command execution for a number of seconds,
after which it continues without requiring a user keystroke. If the user does
press a key at any point, execution will resume immediately.

Alternative
A delay can also be produced by the PING command with a loopback address, there is a delay of 1 second between each consecutive ping. In tests PING consumes less processor time than Sleep.exe or Timeout.exe, this allows other processes to run in the background. The PING command can only be interrupted with Ctrl-C. Source: Clay Calvert (usenet 2001.)

e.g. for a delay of 40 seconds:PING -n 41 127.0.0.1>nul

“It is awful work this love and prevents all a mans projects of good or glory” ~ Lord Byron
Related:

PAUSE - Suspend processing of a batch file and display a messageSLEEP - Delay execution for a few seconds/minutes (for use within a batch file.)WAITFOR - Wait for or send a signal.
Powershell: Start-Sleep - Suspend shell, script, or runspace activity (sleep)