Files
claudetools/docs/ENGINEER_HOWTO_GUIDE.md
Mike Swanson 9fd6a7751c docs: Add comprehensive DOS Update System documentation for engineers and test staff
Created complete documentation suite for the DOS Update System with three
main guides plus screenshot specifications for PDF conversion.

Files Created:

ENGINEER_CHANGELOG.md (481 lines):
- Complete technical change log documenting all modifications
- File-by-file breakdown of changes (AUTOEXEC, NWTOC, CTONW, DEPLOY, UPDATE)
- DOS 6.22 compatibility verification details
- 24 NUL device reference fixes documented
- 52% code reduction in DEPLOY.BAT explained
- Workflow comparison (manual vs automatic)
- Performance impact analysis
- Testing results and rollback procedures
- Technical appendices (NUL device issue, multi-pipe issue)
- Change statistics and git commit references

ENGINEER_HOWTO_GUIDE.md (1,065 lines):
- Step-by-step procedures for engineers
- Network share access (map drive, UNC path)
- File placement guide with table (batch, exe, config files)
- Detailed sync process explanation with timing
- Update workflow (normal automatic, expedited manual, system files)
- Comprehensive troubleshooting guide (10 common issues):
  * Cannot access AD2 share
  * File copied but DOS not updated
  * Sync not happening after 15 minutes
  * Invalid path errors on DOS
  * DEPLOY.BAT failures
  * System files not updating
  * CTONW upload failures
  * Network drive not mapped
  * Backup files accumulating
  * Performance issues
- Best practices (naming, testing, backup, communication, version control)
- FAQ section (13 questions)
- 4 screenshot placeholders for Windows operations

DEPLOYMENT_GUIDE.md (994 lines):
- User-friendly guide for test staff and technicians
- "What's New" section highlighting automatic updates
- Daily operations walkthrough
- Initial deployment procedure (7 detailed steps)
- Boot process explanation with timing breakdown
- Component descriptions (AUTOEXEC, NWTOC, CTONW, UPDATE, CHECKUPD, STAGE, REBOOT)
- Manual operations guide (when and how to use)
- Troubleshooting section (7 common issues)
- FAQ for test staff (10 questions)
- Quick Reference Card at end
- 9 screenshot placeholders for DOS screens

SCREENSHOT_GUIDE.md (520 lines):
- Complete specifications for all documentation screenshots
- 13 total screenshots needed (4 Windows, 9 DOS)
- Detailed capture instructions for each screenshot
- Equipment requirements and capture tools
- Screenshot specifications (format, resolution, naming)
- Quality guidelines and post-processing steps
- Recommended capture session workflow
- PDF integration instructions (Pandoc, VSCode, online)
- Priority classification (high/medium/low)

Documentation Features:
- Professional structure with clear hierarchy
- Audience-appropriate language (technical vs non-technical)
- Comprehensive table of contents in how-to guides
- ASCII diagrams for system architecture and sync flow
- Code blocks with proper batch syntax
- Tables for quick reference
- Consistent ASCII markers: [OK], [ERROR], [WARNING], [INFO]
- Cross-references between documents
- PDF-ready formatting (proper headers, sections, page break hints)

Frontend Design Review Completed:
- All documents validated for PDF conversion readiness
- Structure and hierarchy confirmed excellent
- Readability verified for target audiences
- Screenshot placeholders properly marked
- Tables and code blocks confirmed PDF-compatible
- Minor recommendations provided for enhanced PDF appearance

Target Audience:
- Engineers: Technical change log and how-to guide
- Test Staff: Non-technical deployment guide
- Documentation Team: Screenshot capture specifications

Ready for PDF Conversion:
- All markdown properly formatted
- Screenshot placeholders clearly marked
- Can be converted using Pandoc, VSCode extensions, or online tools
- Suitable for distribution to engineering and test teams

This documentation suite provides complete coverage for deploying,
maintaining, and troubleshooting the DOS Update System across all
~30 DOS test machines at Dataforth.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-20 16:03:00 -07:00

1065 lines
27 KiB
Markdown

# DOS Update System - Engineer How-To Guide
**Document Version:** 1.0
**Date:** January 19, 2026
**Audience:** Engineers and System Administrators
**Prerequisites:** Network access to \\AD2\test\ share
---
## Table of Contents
1. [Quick Start](#quick-start)
2. [Accessing the Test Share](#accessing-the-test-share)
3. [File Placement Guide](#file-placement-guide)
4. [Sync Process Explained](#sync-process-explained)
5. [Update Workflow](#update-workflow)
6. [Troubleshooting Guide](#troubleshooting-guide)
7. [Best Practices](#best-practices)
8. [FAQ](#faq)
---
## Quick Start
**Need to deploy a software update quickly? Follow these steps:**
1. Map network drive to `\\AD2\test` (if not already mapped)
2. Copy batch files to: `\\AD2\test\COMMON\ProdSW\`
3. Wait 15 minutes for automatic sync to NAS
4. DOS machines will download updates on next reboot
**That's it!** No manual commands needed on DOS machines.
---
## Accessing the Test Share
Engineers have share-level access to AD2's test folder via SMB.
### Option 1: Map Network Drive (Recommended)
**Windows File Explorer:**
1. Open File Explorer
2. Click "This PC" in left sidebar
3. Click "Map network drive" button (or right-click → "Map network drive")
4. Choose drive letter: `T:` (recommended for consistency)
5. Enter path: `\\AD2\test`
6. Check "Reconnect at sign-in" (optional)
7. Click "Finish"
8. Enter credentials if prompted:
- Username: `INTRANET\[your-username]`
- Password: [your-password]
**Command Line (cmd.exe):**
```cmd
net use T: \\AD2\test /persistent:yes
```
**PowerShell:**
```powershell
New-PSDrive -Name "T" -PSProvider FileSystem -Root "\\AD2\test" -Persist
```
![Screenshot: Map Network Drive Dialog]
*Screenshot placeholder: Windows "Map network drive" dialog showing \\AD2\test path*
---
### Option 2: Direct UNC Path
If you don't want to map a drive, use the UNC path directly:
**Windows File Explorer:**
- Navigate to: `\\AD2\test\COMMON\ProdSW\`
- Drag and drop files directly
**Command Line:**
```cmd
copy C:\MyFiles\*.BAT \\AD2\test\COMMON\ProdSW\
```
**PowerShell:**
```powershell
Copy-Item C:\MyFiles\*.BAT -Destination \\AD2\test\COMMON\ProdSW\
```
---
### Verifying Access
**Check if you have access:**
1. Open File Explorer
2. Navigate to: `\\AD2\test\`
3. You should see folders: COMMON, TS-01, TS-02, ..., TS-30
**Expected folder structure:**
```
\\AD2\test\
├── COMMON\
│ ├── ProdSW\ ← Place batch files here
│ ├── DOS\ ← System files (AUTOEXEC.NEW, CONFIG.NEW)
│ └── NET\ ← Network client updates
├── TS-01\ ← Machine-specific folders
├── TS-02\
├── ...
└── TS-30\
```
![Screenshot: Test Share Folder Structure]
*Screenshot placeholder: Windows Explorer showing \\AD2\test\ folder structure with COMMON and TS-XX folders*
---
## File Placement Guide
### Where to Place Files
| File Type | Destination | Scope | Auto-Deployed To |
|-----------|-------------|-------|------------------|
| Batch files (.BAT) | `\\AD2\test\COMMON\ProdSW\` | All machines | C:\BAT\ on all DOS machines |
| Executables (.EXE) | `\\AD2\test\COMMON\ProdSW\` | All machines | C:\ATE\ on all DOS machines |
| Config files (.CFG) | `\\AD2\test\COMMON\ProdSW\` | All machines | C:\ATE\ on all DOS machines |
| System files (AUTOEXEC.NEW) | `\\AD2\test\COMMON\DOS\` | All machines | Staged for reboot |
| Network client files | `\\AD2\test\COMMON\NET\` | All machines | C:\NET\ on all DOS machines |
| Machine-specific files | `\\AD2\test\TS-XX\ProdSW\` | Single machine | C:\BAT\ and C:\ATE\ on specific machine |
---
### Step-by-Step: Deploy Batch File Update
**Scenario:** You've updated CHECKUPD.BAT and need to deploy it to all machines.
**Steps:**
1. **Access the share:**
```cmd
\\AD2\test\COMMON\ProdSW\
```
2. **Backup existing file (optional but recommended):**
- Rename `CHECKUPD.BAT` to `CHECKUPD.BAK`
- Or copy to `_backup\` folder
3. **Copy new file:**
- Drag your updated `CHECKUPD.BAT` to `\\AD2\test\COMMON\ProdSW\`
- Overwrite when prompted
4. **Verify copy:**
- Check file size and timestamp match your source file
- Open file to verify contents (right-click → Edit)
5. **Wait for sync:**
- AD2 syncs to NAS every 15 minutes
- After 15 minutes, file is available at `T:\COMMON\ProdSW\` on DOS machines
6. **Verify on DOS machine:**
- Next reboot: NWTOC downloads new file to C:\BAT\
- Or manually run: `T:\COMMON\ProdSW\NWTOC.BAT` on DOS machine
![Screenshot: File Copy Operation]
*Screenshot placeholder: Windows Explorer copying CHECKUPD.BAT to \\AD2\test\COMMON\ProdSW\*
---
### Step-by-Step: Deploy Machine-Specific Update
**Scenario:** TS-04 needs a special configuration file.
**Steps:**
1. **Identify target machine folder:**
```cmd
\\AD2\test\TS-04\ProdSW\
```
2. **Create folder if it doesn't exist:**
- Right-click in `\\AD2\test\TS-04\`
- Select "New" → "Folder"
- Name it: `ProdSW`
3. **Copy machine-specific file:**
- Drag your file to `\\AD2\test\TS-04\ProdSW\`
4. **Wait for sync (15 minutes)**
5. **On TS-04 DOS machine:**
- Reboot machine
- NWTOC automatically downloads from `T:\TS-04\ProdSW\` to C:\BAT\ and C:\ATE\
**Important:** Machine-specific files take precedence over COMMON files.
---
## Sync Process Explained
### How Sync Works
```
┌─────────────────────────────────────────────────────────────────┐
│ Step 1: Engineer places file on AD2 │
│ Location: \\AD2\test\COMMON\ProdSW\NEWFILE.BAT │
│ Time: 0 minutes │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Step 2: Scheduled task on AD2 syncs to NAS │
│ Frequency: Every 15 minutes │
│ Time: 0-15 minutes (depending on timing) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Step 3: File now available on D2TESTNAS │
│ Location: /data/test/COMMON/ProdSW/NEWFILE.BAT │
│ DOS Access: T:\COMMON\ProdSW\NEWFILE.BAT │
│ Time: 15 minutes (maximum) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Step 4: DOS machine reboots and runs NWTOC │
│ NWTOC downloads: T:\COMMON\ProdSW\*.BAT → C:\BAT\ │
│ Time: Next reboot (or manual NWTOC.BAT execution) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ Step 5: File now deployed on DOS machine │
│ Location: C:\BAT\NEWFILE.BAT │
│ Status: Ready to use │
└─────────────────────────────────────────────────────────────────┘
```
---
### Sync Timing
| Action | Time Required | Notes |
|--------|---------------|-------|
| File copy to AD2 | Instant | Limited by network speed |
| AD2 → NAS sync | 0-15 minutes | Depends on scheduled task timing |
| NAS → DOS machine | Next reboot | Or manual NWTOC execution |
| **Total deployment time** | **15 min - 24 hours** | Depends on reboot schedule |
**Pro Tip:** For urgent updates, ask test staff to reboot specific machines or manually run NWTOC.
---
### Verifying Sync Status
**Check if file reached NAS:**
1. **Via DOS machine:**
- Log into any DOS machine
- Type: `DIR T:\COMMON\ProdSW\YOURFILE.BAT`
- If listed, sync complete
2. **Via SSH (if you have access):**
```bash
ssh admin@192.168.0.9
ls -lh /data/test/COMMON/ProdSW/
```
3. **Via test staff:**
- Ask them to check T: drive on DOS machine
- Faster than waiting 15 minutes
---
## Update Workflow
### Normal Update Process (Automatic)
**For Test Staff - No manual steps required:**
1. Engineer places file on AD2
2. File syncs to NAS (15 minutes)
3. DOS machine reboots
4. AUTOEXEC.BAT runs automatically:
- Network starts
- NWTOC downloads updates from T:\COMMON\ProdSW
- NWTOC downloads machine-specific updates from T:\TS-XX\ProdSW
- CTONW uploads test data to T:\TS-XX\LOGS
5. System ready for testing
**No intervention required from test staff.**
---
### Expedited Update Process (Manual)
**For urgent updates that can't wait for reboot:**
1. Engineer places file on AD2
2. Wait 15 minutes for sync to NAS
3. Ask test staff to run on DOS machine:
```
C:\BAT\NWTOC.BAT
```
4. Updates downloaded immediately
5. No reboot required
---
### System File Updates (AUTOEXEC.BAT, CONFIG.SYS)
**These require reboot and special handling:**
1. **Create staged files:**
- Rename to: `AUTOEXEC.NEW` or `CONFIG.NEW`
- Place in: `\\AD2\test\COMMON\DOS\`
2. **Wait for sync (15 minutes)**
3. **On DOS machine reboot:**
- NWTOC detects .NEW files
- Calls STAGE.BAT automatically
- Creates REBOOT.BAT
- Displays message: "Reboot required"
4. **Test staff runs:**
```
C:\BAT\REBOOT.BAT
```
- System reboots
- REBOOT.BAT applies staged files
- New AUTOEXEC.BAT/CONFIG.SYS active after reboot
**Warning:** System file updates require careful testing. Always test on one machine first.
---
## Troubleshooting Guide
### Issue 1: Cannot Access \\AD2\test\
**Symptom:**
- "Network path not found" error
- "Access denied" error
- Unable to map drive
**Possible Causes & Solutions:**
#### Cause 1: Not on VPN
**Solution:**
- Connect to company VPN
- Verify VPN connection active
- Retry access
#### Cause 2: Incorrect Credentials
**Solution:**
- Use format: `INTRANET\username`
- Verify password is correct
- Try: Control Panel → Credential Manager → Windows Credentials → Add
#### Cause 3: AD2 Server Down
**Solution:**
- Ping: `ping 192.168.0.6`
- If no response, contact IT
- Check with colleagues if they can access
#### Cause 4: SMB Version Mismatch
**Solution:**
- Enable SMB1 on your Windows machine (if required):
```powershell
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
```
- Reboot after enabling
- Retry access
![Screenshot: Network Path Not Found Error]
*Screenshot placeholder: Windows error dialog showing "\\AD2\test is not accessible"*
---
### Issue 2: File Copied but DOS Machine Not Updated
**Symptom:**
- File placed on \\AD2\test\COMMON\ProdSW\
- DOS machine still has old version after reboot
**Troubleshooting Steps:**
#### Step 1: Verify File on AD2
```cmd
dir \\AD2\test\COMMON\ProdSW\YOURFILE.BAT
```
- Check file size and timestamp
- Verify it matches your source file
#### Step 2: Wait for Sync (15 minutes)
- Sync runs every 15 minutes
- Check clock - has 15 minutes elapsed since you copied?
#### Step 3: Verify File on NAS (via DOS)
On DOS machine:
```
DIR T:\COMMON\ProdSW\YOURFILE.BAT
```
- If missing: Sync hasn't completed or sync process failed
- If present: Continue to Step 4
#### Step 4: Check DOS Machine Date/Time
NWTOC uses `/D` flag (only copy if newer):
```
XCOPY T:\COMMON\ProdSW\*.bat C:\BAT\ /D /Y
```
On DOS machine:
```
DATE
TIME
```
- If DOS clock is in the future, XCOPY won't copy "older" files
- **Solution:** Set correct date/time on DOS machine
#### Step 5: Force Update
On DOS machine, bypass date check:
```
DEL C:\BAT\YOURFILE.BAT
C:\BAT\NWTOC.BAT
```
- This forces re-download
#### Step 6: Check NWTOC Error Messages
Run NWTOC manually and watch for errors:
```
C:\BAT\NWTOC.BAT
```
Look for:
- `[ERROR] T: drive not available`
- `[ERROR] Update initialization failed`
- `[ERROR] Update terminated by user`
---
### Issue 3: Sync Not Happening (15+ Minutes Elapsed)
**Symptom:**
- File on AD2, but not appearing on NAS after 15+ minutes
- `DIR T:\COMMON\ProdSW\` on DOS shows old file
**Troubleshooting Steps:**
#### Step 1: Verify Scheduled Task on AD2
**If you have SSH access to AD2:**
```powershell
ssh INTRANET\sysadmin@192.168.0.6
Get-ScheduledTask | Where-Object {$_.TaskName -like "*sync*"}
```
- Look for task that syncs to NAS
- Check: State = "Ready", LastRunTime recent
**If task not running:**
```powershell
Start-ScheduledTask -TaskName "SyncToNAS"
```
#### Step 2: Check NAS Accessibility from AD2
**If you have SSH access to AD2:**
```cmd
ping 192.168.0.9
net use \\192.168.0.9\test
```
- If ping fails: NAS is down or network issue
- If net use fails: SMB1 issue or credentials
#### Step 3: Manually Trigger Sync
**Contact IT to manually run sync script on AD2**
#### Step 4: Verify NAS is Online
```cmd
ping 192.168.0.9
```
- If no response: NAS is down, contact IT
---
### Issue 4: "Invalid Path" Error on DOS Machine
**Symptom:**
- DOS displays: "Invalid path" or "File not found"
- NWTOC or CTONW fails with path errors
**Possible Causes:**
#### Cause 1: Using NUL Device Name
**Old code (incorrect):**
```batch
IF NOT EXIST C:\BAT\NUL MD C:\BAT
```
**New code (correct):**
```batch
IF NOT EXIST C:\BAT\*.* MD C:\BAT
```
**Solution:**
- Verify batch files are latest version (with DOS 6.22 compatibility fixes)
- Replace old batch files with new versions
- Check file timestamp: Should be 2026-01-19 or later
#### Cause 2: Long File Paths
DOS 6.22 has 128-character path limit:
**Solution:**
- Use shorter path names
- Avoid deeply nested directories
#### Cause 3: Special Characters in Filenames
DOS doesn't support: `| < > / \ : " * ?`
**Solution:**
- Rename files to use only: A-Z, 0-9, dash, underscore
- Follow 8.3 naming convention
---
### Issue 5: DEPLOY.BAT Fails on DOS Machine
**Symptom:**
- Running: `T:\UPDATE.BAT TS-XX` fails
- Error messages during deployment
**Troubleshooting Steps:**
#### Step 1: Verify Machine Name Argument
```
T:\UPDATE.BAT TS-04
```
- Machine name must be provided
- Must match network folder: T:\TS-04\
#### Step 2: Verify DEPLOY.BAT Exists
```
DIR T:\COMMON\ProdSW\DEPLOY.BAT
```
- If missing, files not synced yet
#### Step 3: Verify Template AUTOEXEC.BAT Exists
```
DIR T:\COMMON\ProdSW\AUTOEXEC.BAT
```
- DEPLOY copies this as template
- If missing, deployment will fail
#### Step 4: Check C: Drive Space
```
DIR C:\
```
- DEPLOY creates C:\BAT\ and copies files
- Requires ~500 KB free space minimum
#### Step 5: Run with Output Visible
```
T:\COMMON\ProdSW\DEPLOY.BAT TS-04
```
- Watch each step
- Note exactly where it fails
- Check error messages
**Common Errors:**
- `[ERROR] Machine name not provided` → Missing argument
- `[ERROR] Could not create C:\BAT directory` → Disk full or permissions
- `[ERROR] Failed to copy files from network` → T: drive issue
- `[ERROR] Could not copy AUTOEXEC.BAT template` → Template missing
---
### Issue 6: System Files Not Updating (AUTOEXEC.BAT)
**Symptom:**
- Placed AUTOEXEC.NEW in \\AD2\test\COMMON\DOS\
- DOS machine not showing staged update
**Troubleshooting Steps:**
#### Step 1: Verify File Placement
Correct location:
```
\\AD2\test\COMMON\DOS\AUTOEXEC.NEW
```
**Not:**
```
\\AD2\test\COMMON\ProdSW\AUTOEXEC.NEW (wrong!)
```
#### Step 2: Verify File Extension
Must be `.NEW`:
```
AUTOEXEC.NEW (correct)
AUTOEXEC.BAT (wrong - will be ignored)
```
#### Step 3: Wait for Sync + Reboot
- File must sync to NAS (15 minutes)
- DOS machine must reboot
- NWTOC runs and detects .NEW file
#### Step 4: Check for STAGE.BAT
On DOS machine:
```
DIR C:\BAT\STAGE.BAT
```
- If missing, NWTOC cannot stage updates
- **Solution:** Deploy STAGE.BAT to COMMON\ProdSW first
#### Step 5: Check for Staged Files
After reboot, on DOS machine:
```
DIR C:\AUTOEXEC.NEW
DIR C:\CONFIG.NEW
```
- If present: Staging worked, need to run REBOOT.BAT
- If missing: NWTOC didn't detect or staging failed
#### Step 6: Manual Staging
If automatic staging failed:
```
COPY T:\COMMON\DOS\AUTOEXEC.NEW C:\AUTOEXEC.NEW
C:\BAT\STAGE.BAT
```
---
### Issue 7: CTONW Upload Fails
**Symptom:**
- Test staff reports CTONW errors
- Test data not reaching T:\TS-XX\LOGS
**Troubleshooting Steps:**
#### Step 1: Verify MACHINE Variable
On DOS machine:
```
ECHO %MACHINE%
```
- Should show: `TS-04` (or correct machine name)
- If blank: AUTOEXEC.BAT SET MACHINE not set
- **Solution:** Run DEPLOY.BAT again
#### Step 2: Verify Target Folder Exists
On DOS machine:
```
DIR T:\TS-04\
```
- If missing: CTONW will create it
- If "Access denied": Permission issue on NAS
#### Step 3: Check Source Data
On DOS machine:
```
DIR C:\ATE\8BDATA\*.DAT
```
- If no .DAT files, nothing to upload
- CTONW only uploads .DAT files to LOGS
#### Step 4: Run CTONW with Visible Output
```
C:\BAT\CTONW.BAT
```
- Watch for error messages
- Check which step fails
**Common Errors:**
- `[ERROR] MACHINE variable not set` → Run DEPLOY.BAT
- `[ERROR] T: drive not available` → Network down
- `[ERROR] Could not create target directory` → NAS permission issue
- `[ERROR] Upload initialization failed` → Memory or path issue
---
### Issue 8: Network Drive (T:) Not Mapped
**Symptom:**
- DOS machine shows: `[ERROR] T: drive not available`
- Cannot access T:\
**Troubleshooting Steps:**
#### Step 1: Check Network Stack
On DOS machine:
```
NET
```
- Should show Microsoft Network Client loaded
- If "Bad command or file name": Network not started
#### Step 2: Restart Network Client
```
C:\NET\STARTNET.BAT
```
- Watch for error messages
- Should map T: and X: drives
#### Step 3: Verify T: Drive After Network Start
```
DIR T:\
```
- Should show COMMON, TS-XX folders
- If error: Network mapping failed
#### Step 4: Check NAS Accessibility
```
PING 192.168.0.9
```
- DOS 6.22 may not have ping
- Try: `DIR T:\` instead
#### Step 5: Check STARTNET.BAT Configuration
```
EDIT C:\NET\STARTNET.BAT
```
Look for:
```batch
NET USE T: \\D2TESTNAS\test
```
- Verify server name and share correct
- Verify drive letter is T:
---
### Issue 9: Backup Files Accumulating (.BAK files)
**Symptom:**
- C:\BAT\ filling up with .BAK files
- Running out of disk space on DOS machines
**Explanation:**
- NWTOC creates .BAK backups before overwriting files
- This is intentional for rollback capability
**Solution:**
#### Option 1: Periodic Cleanup (Recommended)
On DOS machine:
```
DEL C:\BAT\*.BAK
```
- Safe to delete after verifying updates work
- Keep most recent .BAK for rollback
#### Option 2: Automated Cleanup
Add to AUTOEXEC.BAT (after NWTOC call):
```batch
REM Clean up backup files older than current
FOR %%F IN (C:\BAT\*.BAK) DO DEL %%F >NUL 2>NUL
```
#### Option 3: Keep Recent Backups Only
```batch
REM Keep only today's backups, delete older
DEL C:\BAT\OLDFILE1.BAK
DEL C:\BAT\OLDFILE2.BAK
```
---
### Issue 10: Updates Work but Performance Slow
**Symptom:**
- Updates download successfully
- Boot process takes 5+ minutes
- Network transfers slow
**Possible Causes:**
#### Cause 1: Network Congestion
- Multiple DOS machines booting simultaneously
- All downloading from NAS at once
**Solution:**
- Stagger reboot times
- Reboot in batches (5 machines at a time)
#### Cause 2: NAS Under Load
- Check NAS performance
- Verify NAS not running other intensive tasks
**Solution:**
- Schedule updates during off-hours
- Reduce concurrent connections
#### Cause 3: Large File Transfers
- Check file sizes in ProdSW
- Remove unnecessary large files
**Solution:**
- Keep ProdSW lean (< 10 MB total)
- Move large files to separate share
---
## Best Practices
### File Naming Conventions
**DO:**
- Use uppercase: `MYFILE.BAT`
- Follow 8.3 naming: `FILENAME.EXT` (8 chars + 3 char extension)
- Use underscores: `MY_FILE.BAT`
- Use dates: `BACKUP_20260119.BAT`
**DON'T:**
- Use spaces: `MY FILE.BAT` (will cause issues)
- Use special characters: `FILE@#$.BAT`
- Exceed 8 characters: `VERYLONGFILENAME.BAT` (truncated to `VERYLONG.BAT`)
- Use lowercase (DOS is case-insensitive, but uppercase is convention)
---
### Testing Updates
**Always test on one machine first:**
1. **Choose test machine:** TS-30 (designated test machine)
2. **Deploy to TS-30 folder first:**
```
\\AD2\test\TS-30\ProdSW\NEWFILE.BAT
```
3. **Wait for sync + reboot TS-30**
4. **Verify functionality on TS-30**
5. **If successful, deploy to COMMON:**
```
\\AD2\test\COMMON\ProdSW\NEWFILE.BAT
```
**This prevents breaking all 30 machines with one bad update.**
---
### Backup Strategy
**Before deploying updates:**
1. **Copy old file to backup folder:**
```
\\AD2\test\COMMON\ProdSW\_backup\OLDFILE_20260119.BAK
```
2. **Create dated backup:**
- Include date in filename
- Keep backups for 30 days
- Delete older backups monthly
3. **Document changes:**
- Add entry to CHANGELOG.txt in ProdSW folder
- Include: Date, File, Version, Changes, Your Name
---
### Communication
**Notify test staff before updates:**
1. **Email test team:**
- Subject: "DOS Update: [File] - [Date]"
- Include: What changed, Expected behavior, Reboot required?
2. **For urgent updates:**
- Phone call or Teams message
- Ask them to reboot specific machines
- Verify update successful
3. **For system file updates:**
- **Always notify test lead**
- Schedule during low-activity time
- Be available for troubleshooting
---
### Version Control
**Track versions in filenames or comments:**
**Option 1: Version in Filename**
```
\\AD2\test\COMMON\ProdSW\_versions\CHECKUPD_v1.2.BAT
```
**Option 2: Version in File Header**
```batch
@ECHO OFF
REM CHECKUPD.BAT - Version 1.2
REM Last modified: 2026-01-19
REM Changes: Added error logging
```
**Option 3: Use Git Repository**
- Maintain batch files in git
- Tag releases: `v1.2-production`
- Deploy from tagged versions
---
## FAQ
### Q: How long does it take for updates to reach DOS machines?
**A:**
- AD2 → NAS sync: 0-15 minutes (scheduled task)
- NAS → DOS machine: Next reboot (or manual NWTOC)
- **Total: 15 minutes to 24 hours** (depending on reboot schedule)
For urgent updates, ask test staff to manually run NWTOC.BAT.
---
### Q: Can I update multiple files at once?
**A:** Yes! Copy all files to \\AD2\test\COMMON\ProdSW\ at once. They'll all sync together and download together on next NWTOC run.
---
### Q: What happens if I overwrite a file while DOS machine is downloading?
**A:**
- If AD2 → NAS sync is running: File may be partially copied, retry on next sync
- If DOS machine is downloading: DOS gets whichever version was on NAS at start of download
- **Best practice:** Deploy during off-hours when DOS machines are idle
---
### Q: Can I delete old files from ProdSW?
**A:** Yes, but be careful:
1. Verify file not referenced by any batch file
2. Delete from AD2: `\\AD2\test\COMMON\ProdSW\OLDFILE.BAT`
3. Wait for sync (15 minutes)
4. File removed from T:\COMMON\ProdSW\ on NAS
5. DOS machines won't download deleted file
6. **But:** File remains on DOS machines in C:\BAT\ until manually deleted
To remove from DOS machines:
- Ask test staff to: `DEL C:\BAT\OLDFILE.BAT` on each machine
- Or add to cleanup script
---
### Q: What's the difference between COMMON and machine-specific folders?
**A:**
**COMMON (\\AD2\test\COMMON\ProdSW\):**
- Deployed to ALL 30 DOS machines
- Use for: Standard batch files, shared programs
- Example: NWTOC.BAT, CTONW.BAT, CHECKUPD.BAT
**Machine-Specific (\\AD2\test\TS-04\ProdSW\):**
- Deployed to ONLY that specific machine
- Use for: Custom configurations, machine-unique programs
- Example: Special test config for TS-04
**Precedence:** Machine-specific files override COMMON files (downloaded second).
---
### Q: How do I know which version is on a DOS machine?
**A:** Ask test staff to check:
```batch
REM Check file date/time
DIR C:\BAT\FILENAME.BAT
REM Check version in file header
TYPE C:\BAT\FILENAME.BAT | MORE
```
Or keep a deployment log:
```
\\AD2\test\COMMON\ProdSW\DEPLOYMENT_LOG.txt
```
---
### Q: Can I test sync manually without waiting 15 minutes?
**A:** If you have SSH access to AD2, you can manually trigger sync:
```powershell
ssh INTRANET\sysadmin@192.168.0.6
# Run sync script manually (command depends on AD2 configuration)
```
Otherwise, ask IT to manually run sync task.
---
### Q: What if I need to rollback an update?
**A:**
**Option 1: Restore from Backup**
```
COPY \\AD2\test\COMMON\ProdSW\_backup\OLDFILE.BAK \\AD2\test\COMMON\ProdSW\OLDFILE.BAT
```
Wait 15 minutes for sync, DOS machines download old version on next reboot.
**Option 2: On DOS Machine**
```
COPY C:\BAT\OLDFILE.BAK C:\BAT\OLDFILE.BAT
```
Immediate rollback on that machine only.
---
### Q: Can engineers run DEPLOY.BAT remotely?
**A:** No. DEPLOY.BAT must be run locally on the DOS machine:
- Requires direct access to C:\ drive
- Modifies AUTOEXEC.BAT on C:\
- Cannot be run over network share
**Deployment workflow:**
1. Engineer places files on AD2
2. Wait for sync to NAS
3. Test staff runs on DOS machine: `T:\UPDATE.BAT TS-XX`
---
### Q: What files should never be modified?
**A:** Be very careful with:
**System Files:**
- AUTOEXEC.BAT - Only update via DEPLOY.BAT or .NEW staging
- CONFIG.SYS - Only update via .NEW staging
- STARTNET.BAT - Network client config
**Core Update Files:**
- NWTOC.BAT - Download updates (test thoroughly before deploying)
- CTONW.BAT - Upload test data (test thoroughly)
- DEPLOY.BAT - Deployment installer (test on TS-30 first)
- STAGE.BAT - System file staging (critical for updates)
- REBOOT.BAT - Auto-generated, don't modify manually
---
## Summary
**Key Takeaways:**
1. **Access via:** `\\AD2\test\COMMON\ProdSW\`
2. **Sync time:** 15 minutes maximum
3. **Deployment:** Automatic on reboot (or manual NWTOC)
4. **Test first:** Use TS-30 or machine-specific folder
5. **Backup always:** Keep old versions before updating
6. **Communicate:** Notify test staff of updates
**Emergency Contact:**
- IT Support: [Contact Info]
- Test Team Lead: [Contact Info]
---
**Document End**
*For change log details, see ENGINEER_CHANGELOG.md*
*For test staff procedures, see DEPLOYMENT_GUIDE.md*