AUTOFAIL Directive in MS-DOS 6.22 Error Management
The AUTOFAIL directive modifies how MS-DOS handles
critical system and I/O errors by automatically resolving hardware
access conflicts without halting the operating system. By suppressing
the standard interactive error prompt, it plays a crucial role in
enabling unattended system execution, standardizing error delivery to
software applications, and preventing terminal lockups in automated DOS
environments.
Bypassing Interactive Critical Prompts
Under standard operating conditions, MS-DOS 6.22 relies on Interrupt
24h (INT 24h) to handle critical hardware errors, such as unreadable
disk sectors, unready drives, or missing media. By default, the
operating system pauses all operations and displays the classic prompt:
Abort, Retry, Fail, Ignore?.
This routine requires manual keyboard input before the system can
proceed. When the AUTOFAIL directive is active, MS-DOS
bypasses this prompt entirely. Instead of halting execution to wait for
a user response, the operating system intercepts the critical error and
automatically supplies a "Fail" action.
Facilitating Unattended and Automated Workflows
The primary functional role of AUTOFAIL is supporting
automated and headless environments. Systems running scheduled batch
files, network operations, data-logging tasks, or point-of-sale
operations cannot afford to halt indefinitely for physical user
interaction.
If a drive is not ready or a file operation fails in a script, an
interactive prompt halts the entire machine. AUTOFAIL
ensures that background scripts and batch processing can continue
executing without manual oversight, letting subsequent commands or
conditional checks handle the situation.
Shifting Error Handling to Applications
By forcing an automatic failure at the DOS kernel level, the directive shifts error-recovery responsibility directly to the executing software. When the operating system returns a failure status immediately:
- The invoking program receives a standard MS-DOS extended error code.
- Applications with internal error handling can catch the code and execute fallback routines, write to local log files, or terminate cleanly.
- Batch scripts utilizing error level checks (such as
IF ERRORLEVEL) can detect failed commands and execute alternative branches rather than freezing.
System Configuration Context
Configured within CONFIG.SYS, the directive enforces a
global error management policy across the operating environment. While
it eliminates interactive recovery options—preventing a user from simply
re-inserting a disk and choosing "Retry"—it guarantees deterministic
execution behavior, making MS-DOS 6.22 predictable and resilient in
industrial and automated use cases.