Você pode fazer um script AutoIt para atrasar a execução do comando:
; Initialize variables
$second = 1000
; Script options
Opt("TrayAutoPause", 0) ; 0 = no pause, 1 = pause
Opt("TrayIconHide", 1) ; 0 = show, 1 = hide tray icon
; Optionally, sleep for a number of seconds before starting the process
If 0 < $CmdLine[0] Then
Sleep( $CmdLine[1] * $second )
EndIf
Run("shutdown /l /f")
Depois de compilar o script em um programa, você pode chamá-lo de um arquivo em lotes:
@echo off
start "" DelayLogoff.exe 10
pause
Dica : Você pode colocar tudo isso em um arquivo de lote, mas usar um script AutoIt oculto evita os problemas do Windows, que de outra forma seria muito bom Timeout .