Files
claudetools/DOSTEST.BAT
Mike Swanson 3faf09c111 feat: Complete DOS update system with test data routing fix
Implemented comprehensive DOS 6.22 update system for ~30 test stations with
critical fix for test data database import routing.

## Major Changes

### DOS Batch Files (7 files)
- NWTOC.BAT: Download updates from network to DOS machines
- CTONW.BAT v1.2: Upload with separate ProdSW/LOGS routing (CRITICAL FIX)
- UPDATE.BAT: Full system backup to network
- STAGE.BAT: System file staging for safe updates
- REBOOT.BAT: Apply staged updates on reboot
- CHECKUPD.BAT: Check for available updates
- DEPLOY.BAT: One-time deployment installer for DOS machines

### CTONW v1.2 Critical Fix
Fixed test data routing to match AD2 sync script expectations:
- Software distribution: C:\ATE\*.EXE -> T:\TS-4R\ProdSW\ (bidirectional)
- Test data logging: C:\ATE\8BDATA\*.DAT -> T:\TS-4R\LOGS\8BLOG\ (upload only)
- Subdirectory mapping: 8BDATA->8BLOG, DSCDATA->DSCLOG, HVDATA->HVLOG, etc.
- Test data now correctly imported to AD2 database via Sync-FromNAS.ps1

### Deployment Infrastructure
- copy-to-ad2.ps1: Automated deployment to AD2 server
- DOS_DEPLOYMENT_GUIDE.md: Complete deployment documentation
- DEPLOYMENT_GUIDE.md: Technical workflow documentation
- credentials.md: Centralized credentials (AD2, NAS, Gitea)

### Analysis & Documentation (15 files)
- CTONW_ANALYSIS.md: Comprehensive compliance analysis
- CTONW_V1.2_CHANGELOG.md: Detailed v1.2 changes
- NWTOC_ANALYSIS.md: Download workflow analysis
- DOS_BATCH_ANALYSIS.md: DOS 6.22 compatibility guide
- UPDATE_WORKFLOW.md: Backup system workflow
- BEHAVIORAL_RULES_INTEGRATION_SUMMARY.md: C: drive integration

### Session Logs
- session-logs/2026-01-19-session.md: Complete session documentation

### Conversation Reorganization
- Cleaned up 156 imported conversation files
- Organized into sessions-by-date structure
- Created metadata index and large files guide

## Technical Details

### AD2 → NAS → DOS Sync Flow
1. Admin copies files to AD2: \192.168.0.6\C$\Shares\test\
2. Sync-FromNAS.ps1 runs every 15 minutes (AD2 → NAS)
3. DOS machines access via T: drive (\D2TESTNAS\test)
4. NWTOC downloads updates, CTONW uploads test data
5. Sync imports test data to AD2 database

### DOS 6.22 Compatibility
- No %COMPUTERNAME%, uses %MACHINE% variable
- No IF /I, uses multiple case-specific checks
- Proper ERRORLEVEL checking (highest values first)
- XCOPY /S for subdirectory support
- ASCII markers ([OK], [ERROR], [WARNING]) instead of emojis

### File Locations
- AD2: C:\Shares\test\COMMON\ProdSW\ (deployed)
- NAS: T:\COMMON\ProdSW\ (synced)
- DOS: C:\BAT\ (installed)
- Logs: T:\TS-4R\LOGS\8BLOG\ (test data for database import)

## Deployment Status

 All 7 batch files deployed to AD2 (both COMMON and _COMMON)
 Pending sync to NAS (within 15 minutes)
 Pending pilot deployment on TS-4R
📋 Ready for rollout to ~30 DOS machines

## Breaking Changes

CTONW v1.1 → v1.2: Test data now uploads to LOGS folder instead of ProdSW.
Existing machines must download v1.2 via NWTOC for proper database import.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-19 12:49:54 -07:00

201 lines
5.2 KiB
Batchfile

@ECHO OFF
REM DOSTEST.BAT - Test DOS batch file deployment
REM Run this on the DOS machine after deploying new files
REM Version: 1.0
REM Last modified: 2026-01-19
ECHO.
ECHO ==============================================================
ECHO DOS 6.22 Configuration Test Script
ECHO ==============================================================
ECHO.
REM ==================================================================
REM TEST 1: Check MACHINE variable
REM ==================================================================
ECHO [TEST 1] Checking MACHINE variable...
IF "%MACHINE%"=="" GOTO TEST1_FAIL
ECHO [OK] MACHINE=%MACHINE%
GOTO TEST2
:TEST1_FAIL
ECHO [FAIL] MACHINE variable not set
ECHO Fix: Add "SET MACHINE=TS-4R" to C:\AUTOEXEC.BAT
ECHO.
PAUSE Press any key to continue testing...
GOTO TEST2
REM ==================================================================
REM TEST 2: Check required files exist
REM ==================================================================
:TEST2
ECHO.
ECHO [TEST 2] Checking required files...
IF NOT EXIST C:\AUTOEXEC.BAT ECHO [FAIL] C:\AUTOEXEC.BAT missing
IF EXIST C:\AUTOEXEC.BAT ECHO [OK] C:\AUTOEXEC.BAT exists
IF NOT EXIST C:\NET\STARTNET.BAT ECHO [FAIL] C:\NET\STARTNET.BAT missing
IF EXIST C:\NET\STARTNET.BAT ECHO [OK] C:\NET\STARTNET.BAT exists
IF NOT EXIST C:\BATCH\UPDATE.BAT ECHO [FAIL] C:\BATCH\UPDATE.BAT missing
IF EXIST C:\BATCH\UPDATE.BAT ECHO [OK] C:\BATCH\UPDATE.BAT exists
IF NOT EXIST C:\BATCH\NUL ECHO [WARN] C:\BATCH directory missing - run MD C:\BATCH
IF EXIST C:\BATCH\NUL ECHO [OK] C:\BATCH directory exists
REM ==================================================================
REM TEST 3: Check PATH variable
REM ==================================================================
ECHO.
ECHO [TEST 3] Checking PATH...
ECHO PATH=%PATH%
REM Check if C:\BATCH is in PATH (simple check - look for BATCH string)
ECHO %PATH% | FIND /I "BATCH" > NUL
IF ERRORLEVEL 1 GOTO TEST3_FAIL
ECHO [OK] C:\BATCH is in PATH
GOTO TEST4
:TEST3_FAIL
ECHO [WARN] C:\BATCH not in PATH
ECHO Fix: Add "SET PATH=C:\DOS;C:\NET;C:\BATCH;C:\" to AUTOEXEC.BAT
GOTO TEST4
REM ==================================================================
REM TEST 4: Check T: drive
REM ==================================================================
:TEST4
ECHO.
ECHO [TEST 4] Checking T: drive...
REM Test if T: is accessible
T: 2>NUL
IF ERRORLEVEL 1 GOTO TEST4_FAIL
REM Return to C:
C:
REM Double-check with NUL test
IF NOT EXIST T:\NUL GOTO TEST4_FAIL
ECHO [OK] T: drive accessible
GOTO TEST5
:TEST4_FAIL
ECHO [FAIL] T: drive not accessible
ECHO Fix: Run C:\NET\STARTNET.BAT to map network drives
GOTO TEST5
REM ==================================================================
REM TEST 5: Check X: drive
REM ==================================================================
:TEST5
ECHO.
ECHO [TEST 5] Checking X: drive...
REM Test if X: is accessible
X: 2>NUL
IF ERRORLEVEL 1 GOTO TEST5_FAIL
REM Return to C:
C:
IF NOT EXIST X:\NUL GOTO TEST5_FAIL
ECHO [OK] X: drive accessible
GOTO TEST6
:TEST5_FAIL
ECHO [FAIL] X: drive not accessible
ECHO Fix: Run C:\NET\STARTNET.BAT to map network drives
GOTO TEST6
REM ==================================================================
REM TEST 6: Check if backup directory can be created
REM ==================================================================
:TEST6
ECHO.
ECHO [TEST 6] Checking backup directory creation...
IF "%MACHINE%"=="" GOTO TEST6_SKIP
REM Only test if T: is available
IF NOT EXIST T:\NUL GOTO TEST6_SKIP
REM Try to create machine directory
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% 2>NUL
IF NOT EXIST T:\%MACHINE%\NUL GOTO TEST6_FAIL
REM Try to create backup subdirectory
IF NOT EXIST T:\%MACHINE%\TEST\NUL MD T:\%MACHINE%\TEST 2>NUL
IF NOT EXIST T:\%MACHINE%\TEST\NUL GOTO TEST6_FAIL
ECHO [OK] Can create T:\%MACHINE%\TEST
ECHO [OK] Backup directory structure works
REM Clean up test directory
RD T:\%MACHINE%\TEST 2>NUL
GOTO SUMMARY
:TEST6_FAIL
ECHO [FAIL] Cannot create directory on T: drive
ECHO Check: T: drive is writable
GOTO SUMMARY
:TEST6_SKIP
ECHO [SKIP] Cannot test (T: unavailable or MACHINE not set)
GOTO SUMMARY
REM ==================================================================
REM SUMMARY
REM ==================================================================
:SUMMARY
ECHO.
ECHO ==============================================================
ECHO Test Summary
ECHO ==============================================================
ECHO.
REM Count passes and fails would be complex in DOS batch
REM Just show overall status
IF "%MACHINE%"=="" GOTO SUMMARY_FAIL
IF NOT EXIST C:\BATCH\UPDATE.BAT GOTO SUMMARY_FAIL
IF NOT EXIST T:\NUL GOTO SUMMARY_FAIL
ECHO [OK] All critical tests passed
ECHO.
ECHO Configuration appears correct.
ECHO.
ECHO Next step: Run UPDATE to test backup
ECHO C:\>UPDATE
ECHO.
GOTO END
:SUMMARY_FAIL
ECHO [FAIL] One or more tests failed
ECHO.
ECHO Please fix the failed tests before running UPDATE
ECHO.
ECHO Common fixes:
ECHO 1. Reboot machine (load AUTOEXEC.BAT changes)
ECHO 2. Run C:\NET\STARTNET.BAT (map network drives)
ECHO 3. Check network cable is connected
ECHO 4. Create C:\BATCH directory: MD C:\BATCH
ECHO.
:END
ECHO ==============================================================
ECHO.
PAUSE Press any key to exit...