feat(dataforth-dos): Add DOS 6.22 Coding Agent and fix all batch files
DOS 6.22 Coding Agent (.claude/agents/dos-coding.md): - 18 documented compatibility rules - Validation checklist for all DOS batch files - Known working constructs reference - Error message troubleshooting guide Batch file fixes for DOS 6.22 compatibility: - CTONW.BAT v3.2: Removed %DATE%/%TIME%, square brackets - ATESYNC.BAT v1.1: Removed square brackets, ERRORLEVEL checks - CHECKUPD.BAT v1.4: Removed CALL :label subroutines, square brackets - UPDATE.BAT v2.4: Removed square brackets, fixed NUL directory checks - DOSTEST.BAT v1.2: Removed 2>NUL, square brackets, NUL checks Key DOS 6.22 incompatibilities fixed: - CALL :label (Windows NT+ only) - %DATE% and %TIME% variables (don't exist) - Square brackets in ECHO (cause errors) - 2>NUL stderr redirect (not supported) - IF NOT EXIST path\NUL (unreliable) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,8 +6,8 @@ REM
|
||||
REM If machine-name not provided, uses MACHINE environment variable
|
||||
REM from AUTOEXEC.BAT
|
||||
REM
|
||||
REM Version: 2.3 - Fixed XCOPY trailing backslash (DOS 6.22 compatibility)
|
||||
REM Last modified: 2026-01-20
|
||||
REM Version: 2.4 - DOS 6.22 compatible (removed brackets, fixed NUL checks)
|
||||
REM Last modified: 2026-01-21
|
||||
|
||||
REM ==================================================================
|
||||
REM STEP 1: Determine machine name
|
||||
@@ -18,7 +18,7 @@ IF NOT "%MACHINE%"=="" GOTO USE_ENV
|
||||
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name not specified
|
||||
ECHO ERROR: Machine name not specified
|
||||
ECHO.
|
||||
ECHO Usage: UPDATE machine-name
|
||||
ECHO Example: UPDATE TS-4R
|
||||
@@ -47,12 +47,12 @@ ECHO Checking network drive T:...
|
||||
REM DOS 6.22: Direct file test is most reliable
|
||||
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
|
||||
|
||||
ECHO [OK] T: drive accessible
|
||||
ECHO OK: T: drive accessible
|
||||
GOTO START_BACKUP
|
||||
|
||||
:NO_T_DRIVE
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO Network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -79,15 +79,15 @@ ECHO Target: T:\%MACHINE%\BACKUP
|
||||
ECHO.
|
||||
|
||||
REM Create machine directory if it doesn't exist
|
||||
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE%
|
||||
IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
|
||||
|
||||
REM Create backup directory
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\NUL MD T:\%MACHINE%\BACKUP
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* MD T:\%MACHINE%\BACKUP
|
||||
|
||||
REM Check if backup directory was created successfully
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR
|
||||
|
||||
ECHO [OK] Backup directory ready
|
||||
ECHO OK: Backup directory ready
|
||||
ECHO.
|
||||
|
||||
REM ==================================================================
|
||||
@@ -124,7 +124,7 @@ IF ERRORLEVEL 2 GOTO USER_ABORT
|
||||
IF ERRORLEVEL 1 GOTO NO_FILES
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Backup completed successfully
|
||||
ECHO OK: Backup completed successfully
|
||||
ECHO.
|
||||
ECHO Files backed up to: T:\%MACHINE%\BACKUP
|
||||
GOTO END
|
||||
@@ -135,7 +135,7 @@ REM ==================================================================
|
||||
|
||||
:BACKUP_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create backup directory
|
||||
ECHO ERROR: Could not create backup directory
|
||||
ECHO Target: T:\%MACHINE%\BACKUP
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
@@ -148,7 +148,7 @@ GOTO END
|
||||
|
||||
:DISK_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Disk write error
|
||||
ECHO ERROR: Disk write error
|
||||
ECHO.
|
||||
ECHO Possible causes:
|
||||
ECHO - Target drive is full
|
||||
@@ -160,7 +160,7 @@ GOTO END
|
||||
|
||||
:INIT_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Backup initialization failed
|
||||
ECHO ERROR: Backup initialization failed
|
||||
ECHO.
|
||||
ECHO Possible causes:
|
||||
ECHO - Insufficient memory
|
||||
@@ -172,7 +172,7 @@ GOTO END
|
||||
|
||||
:USER_ABORT
|
||||
ECHO.
|
||||
ECHO [WARNING] Backup terminated by user (Ctrl+C)
|
||||
ECHO WARNING: Backup terminated by user (Ctrl+C)
|
||||
ECHO.
|
||||
ECHO Backup may be incomplete!
|
||||
ECHO.
|
||||
@@ -181,7 +181,7 @@ GOTO END
|
||||
|
||||
:NO_FILES
|
||||
ECHO.
|
||||
ECHO [WARNING] No files found to copy
|
||||
ECHO WARNING: No files found to copy
|
||||
ECHO.
|
||||
ECHO This may indicate:
|
||||
ECHO - All files are already up to date (/D option)
|
||||
|
||||
Reference in New Issue
Block a user