Files
claudetools/UPDATE_WORKFLOW.md
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

30 KiB

Dataforth DOS Machine Update Workflow - Complete Guide

Version: 1.0 Date: 2026-01-19 System: DOS 6.22 with Microsoft Network Client 3.0 Machines: TS-4R, TS-7A, TS-12B, and other Dataforth test stations


Table of Contents

  1. Overview
  2. Update Path Flow
  3. Batch File Reference
  4. Common Scenarios
  5. System File Updates
  6. Troubleshooting
  7. Rollback Procedures

Overview

The Dataforth DOS machine update system provides a safe, automated way to distribute software updates to all test machines. Updates flow from the admin's workstation (AD2) through the NAS (D2TESTNAS) to individual DOS machines.

Key Features

  • Automatic bidirectional sync between AD2 and NAS
  • Safe system file updates with staging and automatic reboot
  • Backup protection (.BAK and .SAV files created automatically)
  • Rollback capability in case of update failures
  • Machine-specific and common updates supported

Components

Network Infrastructure:

  • AD2 (192.168.1.xxx) - Admin workstation, source of updates
  • D2TESTNAS (172.16.3.30) - Network storage, sync hub
  • TS-XX (172.16.3.xxx) - DOS test machines (clients)

Batch Files:

  • NWTOC.BAT - Network to Computer (download updates)
  • CTONW.BAT - Computer to Network (upload local changes)
  • UPDATE.BAT - Backup entire C:\ to network
  • STAGE.BAT - Prepare system file updates for reboot
  • REBOOT.BAT - Apply system file updates after reboot
  • CHECKUPD.BAT - Check for updates without downloading

Update Path Flow

Step-by-Step Update Process

┌─────────────────────────────────────────────────────────────────┐
│ STEP 1: Admin Places Updates                                   │
├─────────────────────────────────────────────────────────────────┤
│ Admin workstation (AD2):                                        │
│   \\AD2\test\COMMON\ProdSW\*.bat     → Updates for all machines│
│   \\AD2\test\COMMON\DOS\AUTOEXEC.NEW → New AUTOEXEC.BAT        │
│   \\AD2\test\COMMON\DOS\CONFIG.NEW   → New CONFIG.SYS          │
│   \\AD2\test\TS-4R\ProdSW\*.*        → Machine-specific updates│
└─────────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────────┐
│ STEP 2: NAS Sync (Automatic)                                   │
├─────────────────────────────────────────────────────────────────┤
│ D2TESTNAS runs /root/sync-to-ad2.sh every 15 minutes           │
│   Bidirectional sync: \\AD2\test ↔ /mnt/test (NAS)            │
│   Status written to: \\AD2\test\_SYNC_STATUS.txt               │
│   Monitored by: DattoRMM (alerts if sync fails >30 min)        │
└─────────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────────┐
│ STEP 3: DOS Machine Update (Manual or Automatic)               │
├─────────────────────────────────────────────────────────────────┤
│ User runs: NWTOC on DOS machine                                │
│   T:\COMMON\ProdSW\*.bat → C:\BAT\                             │
│   T:\TS-4R\ProdSW\*.bat  → C:\BAT\                             │
│   T:\TS-4R\ProdSW\*.exe  → C:\ATE\                             │
│   T:\COMMON\DOS\*.NEW    → C:\*.NEW (staged)                   │
│                                                                 │
│ If system files detected:                                      │
│   NWTOC.BAT calls STAGE.BAT automatically                      │
└─────────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────────┐
│ STEP 4: System File Staging (If needed)                        │
├─────────────────────────────────────────────────────────────────┤
│ STAGE.BAT:                                                      │
│   1. Copies AUTOEXEC.BAT → AUTOEXEC.SAV (backup)               │
│   2. Copies CONFIG.SYS → CONFIG.SAV (backup)                   │
│   3. Creates REBOOT.BAT with update commands                   │
│   4. Modifies AUTOEXEC.BAT to call REBOOT.BAT once             │
│   5. Tells user to reboot                                      │
└─────────────────────────────────────────────────────────────────┘
                            ↓
┌─────────────────────────────────────────────────────────────────┐
│ STEP 5: Reboot and Apply (Automatic)                           │
├─────────────────────────────────────────────────────────────────┤
│ User reboots machine (Ctrl+Alt+Del)                            │
│                                                                 │
│ During boot, AUTOEXEC.BAT calls REBOOT.BAT:                    │
│   1. Copies C:\AUTOEXEC.NEW → C:\AUTOEXEC.BAT                  │
│   2. Copies C:\CONFIG.NEW → C:\CONFIG.SYS                       │
│   3. Deletes .NEW staging files                                │
│   4. Shows completion message with rollback info               │
│   5. Deletes itself (REBOOT.BAT)                               │
│                                                                 │
│ System continues normal boot with updated files                │
└─────────────────────────────────────────────────────────────────┘

File Flow Diagram

AD2 WORKSTATION                 D2TESTNAS (SMB1)              DOS MACHINE (TS-4R)
================                =================             ===================

\\AD2\test\                     T:\ (same as →)               C:\
├── COMMON\                     ├── COMMON\
│   ├── ProdSW\                 │   ├── ProdSW\
│   │   ├── NWTOC.BAT    ─────→ │   │   ├── NWTOC.BAT  ─────→ BAT\NWTOC.BAT
│   │   ├── UPDATE.BAT   ─────→ │   │   ├── UPDATE.BAT ─────→ BAT\UPDATE.BAT
│   │   └── *.bat        ─────→ │   │   └── *.bat      ─────→ BAT\*.bat
│   └── DOS\                    │   └── DOS\
│       ├── AUTOEXEC.NEW ─────→ │       ├── AUTOEXEC.NEW ───→ AUTOEXEC.NEW
│       └── CONFIG.NEW   ─────→ │       └── CONFIG.NEW   ───→ CONFIG.NEW
└── TS-4R\                      └── TS-4R\
    ├── BACKUP\          ←───────── ├── BACKUP\        ←────── (UPDATE.BAT)
    └── ProdSW\                  │   └── ProdSW\
        ├── CUSTOM.BAT   ─────→  │       ├── CUSTOM.BAT ─────→ BAT\CUSTOM.BAT
        ├── TEST.EXE     ─────→  │       ├── TEST.EXE   ─────→ ATE\TEST.EXE
        └── DATA.DAT     ─────→  │       └── DATA.DAT   ─────→ ATE\DATA.DAT

         ↕ sync-to-ad2.sh (bidirectional, every 15 min)

Batch File Reference

NWTOC.BAT - Network to Computer

Purpose: Download updates from network to local machine

Usage:

C:\> NWTOC

What it does:

  1. Verifies MACHINE environment variable is set
  2. Checks T: drive is accessible (mapped to \D2TESTNAS\test)
  3. Updates batch files from T:\COMMON\ProdSW\ → C:\BAT\
  4. Updates machine-specific files from T:%MACHINE%\ProdSW\ → C:\BAT\ and C:\ATE\
  5. Checks for system file updates (AUTOEXEC.NEW, CONFIG.NEW)
  6. If system files found, calls STAGE.BAT automatically
  7. Creates .BAK backups of all replaced files

Exit codes:

  • 0 = Success
  • 1 = MACHINE variable not set
  • 2 = T: drive not accessible
  • 4 = Network directories not found

Example output:

==============================================================
Update: TS-4R from Network
==============================================================
Source: T:\COMMON and T:\TS-4R
Target: C:\BAT, C:\ATE, C:\NET
==============================================================

[1/4] Updating batch files from T:\COMMON\ProdSW...
      Creating backups (.BAK files)...
      Copying updated files...
      [OK] Batch files updated from COMMON

[2/4] Updating machine-specific files from T:\TS-4R\ProdSW...
      Copying batch files to C:\BAT...
      [OK] Machine-specific batch files updated
      Copying programs to C:\ATE...
      [OK] Machine-specific programs updated

[3/4] Checking for system file updates...
      [FOUND] System file updates available
      Staging AUTOEXEC.BAT and/or CONFIG.SYS updates...

[Calls STAGE.BAT automatically]

CTONW.BAT - Computer to Network

Purpose: Upload local changes to network for distribution

Usage:

C:\> CTONW              (upload to T:\TS-4R\ProdSW - machine-specific)
C:\> CTONW MACHINE      (same as above)
C:\> CTONW COMMON       (upload to T:\COMMON\ProdSW - all machines)

What it does:

  1. Verifies MACHINE variable and T: drive
  2. Determines upload target (MACHINE or COMMON)
  3. Creates target directory if needed
  4. Backs up existing files on network (.BAK)
  5. Uploads batch files from C:\BAT\
  6. If MACHINE target, uploads programs from C:\ATE\

Warning:

  • Using CTONW COMMON affects ALL machines on next NWTOC update
  • Test locally first before uploading to COMMON

Example output:

==============================================================
Upload: TS-4R to Network
==============================================================
Source: C:\BAT, C:\ATE
Target: T:\COMMON\ProdSW
Target type: COMMON
==============================================================

[1/2] Uploading batch files from C:\BAT...
      Creating backups on network (.BAK files)...
      Copying files to T:\COMMON\ProdSW...
      [OK] Batch files uploaded

[2/2] Skipping programs/data (COMMON target only gets batch files)

==============================================================
Upload Complete
==============================================================

[WARNING] Files uploaded to COMMON - will affect ALL machines
          Other machines will receive these files on next NWTOC

UPDATE.BAT - Full System Backup

Purpose: Backup entire C:\ drive to network

Usage:

C:\> UPDATE              (uses MACHINE variable)
C:\> UPDATE TS-4R        (specify machine name)

What it does:

  1. Backs up C:*.* → T:%MACHINE%\BACKUP\
  2. Uses XCOPY /D to only copy newer files
  3. Preserves directory structure
  4. Creates backup directory if needed

Example:

==============================================================
Backup: Machine TS-4R
==============================================================
Source: C:\
Target: T:\TS-4R\BACKUP

Starting backup...
[OK] Backup completed successfully
Files backed up to: T:\TS-4R\BACKUP

STAGE.BAT - Prepare System File Update

Purpose: Stage AUTOEXEC.BAT and CONFIG.SYS updates for safe reboot

Usage:

C:\> CALL C:\BAT\STAGE.BAT

Normally called by NWTOC.BAT automatically when system files are detected

What it does:

  1. Checks for C:\AUTOEXEC.NEW and C:\CONFIG.NEW
  2. Backs up current AUTOEXEC.BAT → AUTOEXEC.SAV
  3. Backs up current CONFIG.SYS → CONFIG.SAV
  4. Creates REBOOT.BAT with update commands
  5. Modifies AUTOEXEC.BAT to call REBOOT.BAT once on next boot
  6. Displays reboot instructions

Example output:

==============================================================
Staging System File Updates
==============================================================
  [STAGED] C:\AUTOEXEC.NEW → Will replace AUTOEXEC.BAT
  [STAGED] C:\CONFIG.NEW    → Will replace CONFIG.SYS
==============================================================

[1/3] Backing up current system files...
      [OK] C:\AUTOEXEC.BAT → C:\AUTOEXEC.SAV
      [OK] C:\CONFIG.SYS → C:\CONFIG.SAV

[2/3] Creating reboot update script...
      [OK] C:\BAT\REBOOT.BAT created

[3/3] Modifying AUTOEXEC.BAT for one-time reboot update...
      [OK] AUTOEXEC.BAT modified to run update on next boot

==============================================================
REBOOT REQUIRED
==============================================================

System files have been staged for update.

On next boot, AUTOEXEC.BAT will automatically:
  1. Apply AUTOEXEC.NEW and/or CONFIG.NEW
  2. Delete staging files
  3. Continue normal boot

To apply updates now:
  1. Press Ctrl+Alt+Del to reboot
  2. Or type: EXIT and reboot from DOS prompt

To cancel update:
  1. Delete C:\AUTOEXEC.NEW
  2. Delete C:\CONFIG.NEW
  3. Delete C:\BAT\REBOOT.BAT
  4. Restore C:\AUTOEXEC.BAT from C:\AUTOEXEC.SAV

REBOOT.BAT - Apply System Updates

Purpose: Apply staged system file updates after reboot

Usage:

Automatically called by AUTOEXEC.BAT on next boot
(or run manually: C:\> C:\BAT\REBOOT.BAT)

What it does:

  1. Checks for C:\AUTOEXEC.NEW and C:\CONFIG.NEW
  2. Backs up current files to .SAV
  3. Applies AUTOEXEC.NEW → AUTOEXEC.BAT
  4. Applies CONFIG.NEW → CONFIG.SYS
  5. Deletes .NEW staging files
  6. Displays rollback instructions
  7. Deletes itself

Example output (during boot):

==============================================================
Applying System Updates
==============================================================

[1/2] Updating AUTOEXEC.BAT...
      [OK] AUTOEXEC.BAT updated

[2/2] Updating CONFIG.SYS...
      [OK] CONFIG.SYS updated

==============================================================
System Updates Applied
==============================================================

Backup files saved:
  C:\AUTOEXEC.SAV - Previous AUTOEXEC.BAT
  C:\CONFIG.SAV - Previous CONFIG.SYS

To rollback changes:
  COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
  COPY C:\CONFIG.SAV C:\CONFIG.SYS
  Then reboot

Press any key to continue boot...

CHECKUPD.BAT - Check for Updates

Purpose: Check if updates are available without downloading them

Usage:

C:\> CHECKUPD

What it does:

  1. Checks T:\COMMON\ProdSW\ for newer batch files
  2. Checks T:%MACHINE%\ProdSW\ for machine-specific updates
  3. Checks T:\COMMON\DOS\ for system file updates
  4. Reports counts without downloading
  5. Recommends NWTOC if updates found

Example output:

==============================================================
Update Check: TS-4R
==============================================================

[1/3] Checking T:\COMMON\ProdSW for batch file updates...
      [FOUND] 3 file(s) available in COMMON

[2/3] Checking T:\TS-4R\ProdSW for machine-specific updates...
      [FOUND] 2 file(s) available for TS-4R

[3/3] Checking T:\COMMON\DOS for system file updates...
      [FOUND] AUTOEXEC.NEW (system reboot required)

==============================================================
Update Summary
==============================================================

Available updates:
  Common files:           3
  Machine-specific files: 2
  System files:           1
  -----------------------------------
  Total:                  6

Recommendation:
  Run NWTOC to download and install updates

  [WARNING] System file updates will require reboot

Common Scenarios

Scenario 1: Update All Machines with New Batch File

Goal: Distribute new TESTRUN.BAT to all DOS machines

Steps:

  1. On AD2, copy TESTRUN.BAT to \\AD2\test\COMMON\ProdSW\
  2. Wait for NAS sync (max 15 minutes) or run sync manually
  3. On each DOS machine, run NWTOC
  4. TESTRUN.BAT is installed to C:\BAT\

Verification:

C:\> DIR C:\BAT\TESTRUN.BAT
C:\> TYPE C:\BAT\TESTRUN.BAT

Scenario 2: Update One Machine with Custom Test Program

Goal: Deploy TEST427.EXE to TS-4R only

Steps:

  1. On AD2, copy TEST427.EXE to \\AD2\test\TS-4R\ProdSW\
  2. Wait for NAS sync
  3. On TS-4R, run NWTOC
  4. TEST427.EXE is installed to C:\ATE\

Verification:

C:\> DIR C:\ATE\TEST427.EXE
C:\> C:\ATE\TEST427.EXE

Scenario 3: Deploy New AUTOEXEC.BAT to All Machines

Goal: Update all machines with new environment variables

Steps:

  1. On AD2, edit AUTOEXEC.BAT with new settings
  2. Copy to \\AD2\test\COMMON\DOS\AUTOEXEC.NEW
  3. Wait for NAS sync
  4. On each DOS machine:
    C:\> NWTOC
    [System detects AUTOEXEC.NEW]
    [STAGE.BAT runs automatically]
    [Message: REBOOT REQUIRED]
    
    C:\> Press Ctrl+Alt+Del to reboot
    
    [During boot, REBOOT.BAT applies changes]
    [System continues with new AUTOEXEC.BAT]
    

Verification:

C:\> TYPE C:\AUTOEXEC.BAT
[Check for new environment variables]

Scenario 4: Test Changes Locally Before Deploying

Goal: Test new batch file locally, then share with other machines

Steps:

  1. On TS-4R, create new batch file in C:\BAT\
  2. Test locally: C:\> C:\BAT\NEWTEST.BAT
  3. If works correctly, upload to network:
    C:\> CTONW MACHINE
    [File uploaded to T:\TS-4R\ProdSW\]
    
  4. To share with all machines:
    C:\> CTONW COMMON
    [WARNING: Will affect ALL machines]
    
  5. Other machines pull update: NWTOC

Scenario 5: Rollback After Bad Update

Goal: Restore previous version of batch file

Steps:

  1. Batch files have .BAK backups:

    C:\> DIR C:\BAT\*.BAK
    C:\> COPY C:\BAT\NWTOC.BAK C:\BAT\NWTOC.BAT
    
  2. System files have .SAV backups:

    C:\> COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
    C:\> COPY C:\CONFIG.SAV C:\CONFIG.SYS
    C:\> Press Ctrl+Alt+Del to reboot
    

System File Updates

Why System Files Are Special

AUTOEXEC.BAT and CONFIG.SYS cannot be overwritten while DOS is running:

  • COMMAND.COM keeps them open
  • Direct overwrite causes corruption
  • System must reboot to activate changes

Safe Update Process

Staging ensures atomic updates:

1. New files are copied to .NEW files (C:\AUTOEXEC.NEW)
2. Current files are backed up to .SAV files (C:\AUTOEXEC.SAV)
3. REBOOT.BAT is created with update commands
4. AUTOEXEC.BAT is modified to call REBOOT.BAT once
5. User reboots machine
6. During boot, REBOOT.BAT runs BEFORE old AUTOEXEC.BAT
7. Updates are applied, staging files deleted
8. REBOOT.BAT deletes itself
9. Boot continues normally with new files

Anatomy of Modified AUTOEXEC.BAT

Before STAGE.BAT:

@ECHO OFF
REM AUTOEXEC.BAT - DOS 6.22 startup script
SET MACHINE=TS-4R
SET PATH=C:\DOS;C:\NET;C:\BAT
...

After STAGE.BAT (temporary modification):

@ECHO OFF
REM One-time system update on next reboot
IF EXIST C:\BAT\REBOOT.BAT CALL C:\BAT\REBOOT.BAT

REM AUTOEXEC.BAT - DOS 6.22 startup script
SET MACHINE=TS-4R
SET PATH=C:\DOS;C:\NET;C:\BAT
...

After reboot (REBOOT.BAT restores original):

@ECHO OFF
REM AUTOEXEC.BAT - DOS 6.22 startup script (NEW VERSION)
SET MACHINE=TS-4R
SET PATH=C:\DOS;C:\NET;C:\BAT;C:\TOOLS
...

System File Update Workflow

[User runs NWTOC]
        ↓
[NWTOC detects AUTOEXEC.NEW]
        ↓
[NWTOC calls STAGE.BAT]
        ↓
┌────────────────────────────────────┐
│ STAGE.BAT:                         │
│ 1. AUTOEXEC.BAT → AUTOEXEC.SAV     │
│ 2. Create REBOOT.BAT               │
│ 3. Modify AUTOEXEC.BAT (add call)  │
│ 4. Show "REBOOT REQUIRED"          │
└────────────────────────────────────┘
        ↓
[User reboots (Ctrl+Alt+Del)]
        ↓
┌────────────────────────────────────┐
│ Boot sequence:                     │
│ 1. BIOS → DOS kernel               │
│ 2. CONFIG.SYS processed            │
│ 3. AUTOEXEC.BAT starts             │
│ 4. Calls REBOOT.BAT                │
└────────────────────────────────────┘
        ↓
┌────────────────────────────────────┐
│ REBOOT.BAT:                        │
│ 1. AUTOEXEC.NEW → AUTOEXEC.BAT     │
│ 2. CONFIG.NEW → CONFIG.SYS         │
│ 3. Delete .NEW files               │
│ 4. Show completion message         │
│ 5. Delete itself                   │
└────────────────────────────────────┘
        ↓
[Boot continues with new system files]

Troubleshooting

T: Drive Not Available

Symptoms:

[ERROR] T: drive not available
Network drive T: must be mapped to \\D2TESTNAS\test

Causes:

  1. Network cable unplugged
  2. STARTNET.BAT didn't run
  3. NAS is offline
  4. SMB1 protocol disabled on NAS

Solutions:

REM Check network status
C:\> NET VIEW

REM Restart network client
C:\> C:\NET\STARTNET.BAT

REM Map T: drive manually
C:\> NET USE T: \\D2TESTNAS\test /YES

REM Check if NAS is reachable
C:\> PING 172.16.3.30

MACHINE Variable Not Set

Symptoms:

[ERROR] MACHINE variable not set
Set MACHINE in AUTOEXEC.BAT

Cause: AUTOEXEC.BAT is missing SET MACHINE=TS-4R line

Solution:

  1. Edit AUTOEXEC.BAT:
    EDIT C:\AUTOEXEC.BAT
    
  2. Add line near top (after @ECHO OFF):
    SET MACHINE=TS-4R
    
  3. Save and reboot, or set temporarily:
    C:\> SET MACHINE=TS-4R
    C:\> NWTOC
    

Updates Not Showing Up

Symptoms:

  • CHECKUPD shows no updates
  • Files copied to \AD2\test but DOS machine doesn't see them

Causes:

  1. NAS sync hasn't run yet (15 min interval)
  2. Sync failed (check _SYNC_STATUS.txt)
  3. Wrong directory on AD2

Solutions:

REM Check sync status
C:\> TYPE T:\_SYNC_STATUS.txt

REM Check files on network
C:\> DIR T:\COMMON\ProdSW
C:\> DIR T:\TS-4R\ProdSW

REM Force sync on NAS (SSH to NAS)
guru@d2testnas:~$ sudo /root/sync-to-ad2.sh

System File Update Failed

Symptoms:

[ERROR] AUTOEXEC.BAT update failed

Causes:

  1. Disk full
  2. File in use (shouldn't happen with staging)
  3. Corrupted .NEW file

Recovery:

REM Restore from backup
C:\> COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
C:\> COPY C:\CONFIG.SAV C:\CONFIG.SYS

REM Clean up staging files
C:\> DEL C:\AUTOEXEC.NEW
C:\> DEL C:\CONFIG.NEW
C:\> DEL C:\BAT\REBOOT.BAT

REM Reboot
C:\> Press Ctrl+Alt+Del

REBOOT.BAT Runs Every Boot

Symptoms:

  • REBOOT.BAT shows message on every boot
  • Updates keep re-applying

Cause: REBOOT.BAT failed to delete itself (probably disk full or read-only)

Solution:

REM Manually delete REBOOT.BAT
C:\> DEL C:\BAT\REBOOT.BAT

REM Restore normal AUTOEXEC.BAT
C:\> COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT

REM Reboot
C:\> Press Ctrl+Alt+Del

Rollback Procedures

Rollback Single Batch File

If update broke a batch file:

REM List backup files
C:\> DIR C:\BAT\*.BAK

REM Restore specific file
C:\> COPY C:\BAT\NWTOC.BAK C:\BAT\NWTOC.BAT

Rollback System Files

If AUTOEXEC.BAT or CONFIG.SYS update broke system:

REM From DOS prompt (if system boots):
C:\> COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
C:\> COPY C:\CONFIG.SAV C:\CONFIG.SYS
C:\> Press Ctrl+Alt+Del to reboot

REM From DOS boot floppy (if system won't boot):
A:\> COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
A:\> COPY C:\CONFIG.SAV C:\CONFIG.SYS
A:\> Remove floppy
A:\> Press Ctrl+Alt+Del to reboot

Rollback All Changes

Complete restore from network backup:

REM Run full backup restore
C:\> XCOPY T:\TS-4R\BACKUP\*.* C:\ /S /E /Y /H /K

REM Reboot
C:\> Press Ctrl+Alt+Del

Best Practices

For Administrators

  1. Test in MACHINE directory first

    • Deploy to T:\TS-4R\ProdSW\ for testing
    • Test on one machine before COMMON rollout
  2. Use descriptive filenames

    • Good: TEST-REV2.EXE
    • Bad: TEST.EXE (ambiguous)
  3. Keep backup of AD2

    • \\AD2\test\COMMON\ProdSW\ should have backups
    • Copy to \\AD2\test\COMMON\ProdSW\archive\YYYY-MM-DD\
  4. Monitor sync status

    • Check \\AD2\test\_SYNC_STATUS.txt regularly
    • Set up RMM alerts for sync failures
  5. System file updates

    • Use AUTOEXEC.NEW and CONFIG.NEW (not .BAT and .SYS)
    • Test on one machine before deploying to all

For DOS Machine Users

  1. Run CHECKUPD before NWTOC

    • See what will be updated
    • Prepare for reboot if system files present
  2. Run UPDATE before NWTOC

    • Backup current state before pulling updates
    • Allows rollback from network if needed
  3. Test after updates

    • Run batch files to verify they work
    • Check AUTOEXEC.BAT variables after reboot
  4. Keep .BAK and .SAV files

    • Don't delete .BAK files until confident update works
    • .SAV files allow quick rollback

Appendix: File Locations

On AD2 (Admin Workstation)

\\AD2\test\
├── COMMON\
│   ├── ProdSW\              # Batch files for all machines
│   │   ├── NWTOC.BAT        # Update script
│   │   ├── CTONW.BAT        # Upload script
│   │   ├── UPDATE.BAT       # Backup script
│   │   ├── CHECKUPD.BAT     # Update check script
│   │   └── *.bat            # Other batch files
│   ├── DOS\                 # System files for all machines
│   │   ├── AUTOEXEC.NEW     # New AUTOEXEC.BAT for deployment
│   │   └── CONFIG.NEW       # New CONFIG.SYS for deployment
│   └── NET\                 # Network client files (optional)
│       └── *.DOS            # Network drivers
├── TS-4R\                   # Machine TS-4R
│   ├── BACKUP\              # Full backup of TS-4R (UPDATE.BAT writes here)
│   └── ProdSW\              # Machine-specific software
│       ├── *.bat            # Custom batch files for TS-4R
│       ├── *.exe            # Test programs for TS-4R
│       └── *.dat            # Data files for TS-4R
├── TS-7A\                   # Machine TS-7A
└── _SYNC_STATUS.txt         # Sync status (monitored by RMM)

On DOS Machine (TS-4R)

C:\
├── AUTOEXEC.BAT             # System startup script
├── AUTOEXEC.SAV             # Backup (created by STAGE.BAT)
├── AUTOEXEC.NEW             # Staged update (if present)
├── CONFIG.SYS               # System configuration
├── CONFIG.SAV               # Backup (created by STAGE.BAT)
├── CONFIG.NEW               # Staged update (if present)
├── DOS\                     # MS-DOS 6.22
├── NET\                     # Microsoft Network Client 3.0
│   ├── STARTNET.BAT         # Network startup
│   ├── PROTOCOL.INI         # Network configuration
│   └── *.DOS                # Network drivers
├── BAT\                     # Batch files directory
│   ├── NWTOC.BAT            # Network to Computer
│   ├── NWTOC.BAK            # Backup
│   ├── CTONW.BAT            # Computer to Network
│   ├── CTONW.BAK            # Backup
│   ├── UPDATE.BAT           # Full system backup
│   ├── UPDATE.BAK           # Backup
│   ├── STAGE.BAT            # System file staging
│   ├── REBOOT.BAT           # System file update (created by STAGE.BAT)
│   ├── CHECKUPD.BAT         # Update checker
│   └── *.BAK                # Backups of all batch files
├── ATE\                     # Automated Test Equipment programs
│   ├── *.EXE                # Test executables
│   ├── *.DAT                # Test data files
│   └── *.LOG                # Test results
└── TEMP\                    # Temporary files

Network Drives (from DOS Machine)

T:\ (\\D2TESTNAS\test) - Test file share
  [Same structure as \\AD2\test above]

X:\ (\\D2TESTNAS\datasheets) - Datasheet library
  [Engineering datasheets and documentation]

End of Document

For additional support, contact IT or refer to:

  • NWTOC_ANALYSIS.md - Technical analysis and design decisions
  • DEPLOYMENT_GUIDE.md - Step-by-step deployment instructions
  • DOS_BATCH_ANALYSIS.md - DOS 6.22 limitations and workarounds