499 lines
10 KiB
Markdown
499 lines
10 KiB
Markdown
# DOS 6.22 UPDATE.BAT Fix - Complete Solution Package
|
|
|
|
## Quick Start
|
|
|
|
You have encountered batch file failures on your DOS 6.22 Dataforth test machine (TS-4R). This package contains fixed versions and complete documentation.
|
|
|
|
### What's Wrong
|
|
|
|
1. **UPDATE.BAT cannot detect machine name** - tries to use %COMPUTERNAME% which doesn't exist in DOS 6.22
|
|
2. **UPDATE.BAT claims "T: not available"** - even though T: drive is accessible
|
|
|
|
### What's Fixed
|
|
|
|
1. Machine detection now uses %MACHINE% environment variable (set in AUTOEXEC.BAT)
|
|
2. T: drive detection uses proper DOS 6.22 method (actual drive test, not variable check)
|
|
3. All DOS 6.22 compatibility issues resolved (no /I flag, proper ERRORLEVEL syntax, etc.)
|
|
|
|
## Files in This Package
|
|
|
|
### Batch Files (Deploy to DOS Machine)
|
|
|
|
| File | Deploy To | Purpose |
|
|
|------|-----------|---------|
|
|
| **UPDATE.BAT** | C:\BATCH\ | Fixed backup script |
|
|
| **AUTOEXEC.BAT** | C:\ | Updated startup with MACHINE variable |
|
|
| **STARTNET.BAT** | C:\NET\ | Network initialization with error handling |
|
|
| **DOSTEST.BAT** | C:\ or C:\BATCH\ | Test script to verify configuration |
|
|
|
|
### Documentation (Reference Only)
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| **DOS_FIX_SUMMARY.md** | Executive summary of problem and solution |
|
|
| **DOS_BATCH_ANALYSIS.md** | Deep technical analysis of DOS 6.22 batch issues |
|
|
| **DOS_DEPLOYMENT_GUIDE.md** | Complete deployment and testing procedures |
|
|
| **README_DOS_FIX.md** | This file - package overview |
|
|
|
|
## 5-Minute Quick Fix
|
|
|
|
If you need to get UPDATE.BAT working RIGHT NOW:
|
|
|
|
### Option A: Quick Manual Fix
|
|
|
|
```
|
|
REM On the DOS machine at C:\> prompt:
|
|
|
|
REM 1. Set MACHINE variable (temporary - until reboot)
|
|
SET MACHINE=TS-4R
|
|
|
|
REM 2. Test UPDATE with machine name parameter
|
|
UPDATE TS-4R
|
|
|
|
REM 3. If that works, backup succeeded!
|
|
```
|
|
|
|
This gets you working immediately but doesn't survive reboot.
|
|
|
|
### Option B: Permanent Fix (5 steps)
|
|
|
|
```
|
|
REM 1. Create C:\BATCH directory if needed
|
|
MD C:\BATCH
|
|
|
|
REM 2. Copy UPDATE.BAT to C:\BATCH\
|
|
REM (from network drive or floppy)
|
|
|
|
REM 3. Edit AUTOEXEC.BAT and add near the top:
|
|
EDIT C:\AUTOEXEC.BAT
|
|
REM Add line: SET MACHINE=TS-4R
|
|
REM Save: Alt+F, S
|
|
REM Exit: Alt+F, X
|
|
|
|
REM 4. Add C:\BATCH to PATH in AUTOEXEC.BAT:
|
|
EDIT C:\AUTOEXEC.BAT
|
|
REM Find line: SET PATH=C:\DOS;C:\NET
|
|
REM Change to: SET PATH=C:\DOS;C:\NET;C:\BATCH;C:\
|
|
REM Save and exit
|
|
|
|
REM 5. Reboot machine
|
|
REBOOT
|
|
|
|
REM 6. After reboot, test:
|
|
UPDATE
|
|
```
|
|
|
|
## Deployment Methods
|
|
|
|
### Method 1: From Network Drive (Easiest)
|
|
|
|
**On Windows PC:**
|
|
1. Copy all .BAT files to T:\TS-4R\UPDATES\
|
|
2. Copy DOSTEST.BAT to T:\TS-4R\UPDATES\ too
|
|
|
|
**On DOS machine:**
|
|
```
|
|
T:
|
|
CD \TS-4R\UPDATES
|
|
DIR
|
|
|
|
REM Copy files
|
|
COPY UPDATE.BAT C:\BATCH\
|
|
COPY AUTOEXEC.BAT C:\
|
|
COPY STARTNET.BAT C:\NET\
|
|
COPY DOSTEST.BAT C:\
|
|
|
|
REM Return to C: and test
|
|
C:
|
|
DOSTEST
|
|
```
|
|
|
|
### Method 2: From Floppy Disk
|
|
|
|
**On Windows PC:**
|
|
1. Format 1.44MB floppy
|
|
2. Copy .BAT files to floppy
|
|
3. Copy DOSTEST.BAT to floppy
|
|
|
|
**On DOS machine:**
|
|
```
|
|
A:
|
|
DIR
|
|
|
|
REM Copy files
|
|
COPY UPDATE.BAT C:\BATCH\
|
|
COPY AUTOEXEC.BAT C:\
|
|
COPY STARTNET.BAT C:\NET\
|
|
COPY DOSTEST.BAT C:\
|
|
|
|
REM Return to C: and test
|
|
C:
|
|
DOSTEST
|
|
```
|
|
|
|
### Method 3: Manual Creation (If no other option)
|
|
|
|
```
|
|
REM On DOS machine, use EDIT to create files manually:
|
|
|
|
EDIT C:\BATCH\UPDATE.BAT
|
|
REM Type in the UPDATE.BAT contents from printed copy
|
|
REM Save: Alt+F, S
|
|
REM Exit: Alt+F, X
|
|
|
|
REM Repeat for each file
|
|
EDIT C:\AUTOEXEC.BAT
|
|
EDIT C:\NET\STARTNET.BAT
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Per-Machine Settings
|
|
|
|
**CRITICAL:** Each DOS machine needs its own MACHINE name in AUTOEXEC.BAT
|
|
|
|
```
|
|
EDIT C:\AUTOEXEC.BAT
|
|
|
|
REM Find line:
|
|
SET MACHINE=TS-4R
|
|
|
|
REM Change to match THIS machine's name:
|
|
REM TS-4R = 4-channel RTD machine
|
|
REM TS-7A = 7-channel thermocouple machine
|
|
REM TS-12B = 12-channel strain gauge machine
|
|
REM (or whatever your naming convention is)
|
|
|
|
REM Save: Alt+F, S
|
|
REM Exit: Alt+F, X
|
|
```
|
|
|
|
### Optional: Enable Automatic Backup on Boot
|
|
|
|
```
|
|
EDIT C:\AUTOEXEC.BAT
|
|
|
|
REM Find these lines near the end:
|
|
REM ECHO Running automatic backup...
|
|
REM CALL C:\BATCH\UPDATE.BAT
|
|
REM IF ERRORLEVEL 1 PAUSE Backup completed - press any key...
|
|
|
|
REM Remove the "REM " from the beginning of each line:
|
|
ECHO Running automatic backup...
|
|
CALL C:\BATCH\UPDATE.BAT
|
|
IF ERRORLEVEL 1 PAUSE Backup completed - press any key...
|
|
|
|
REM Save and exit
|
|
REM Backup will now run automatically after network starts during boot
|
|
```
|
|
|
|
## Testing
|
|
|
|
### Run the Test Script
|
|
|
|
```
|
|
C:\>DOSTEST
|
|
|
|
REM This will check:
|
|
REM [TEST 1] MACHINE variable is set
|
|
REM [TEST 2] Required files exist
|
|
REM [TEST 3] PATH includes C:\BATCH
|
|
REM [TEST 4] T: drive accessible
|
|
REM [TEST 5] X: drive accessible
|
|
REM [TEST 6] Can create backup directory
|
|
|
|
REM Fix any [FAIL] results before proceeding
|
|
```
|
|
|
|
### Test UPDATE.BAT
|
|
|
|
**Test 1: Run without parameter (uses MACHINE variable)**
|
|
```
|
|
C:\>UPDATE
|
|
|
|
Expected output:
|
|
Checking network drive T:...
|
|
[OK] T: drive accessible
|
|
==============================================================
|
|
Backup: Machine TS-4R
|
|
==============================================================
|
|
Source: C:\
|
|
Target: T:\TS-4R\BACKUP
|
|
...
|
|
[OK] Backup completed successfully
|
|
```
|
|
|
|
**Test 2: Run with parameter (override)**
|
|
```
|
|
C:\>UPDATE TS-4R
|
|
|
|
REM Should produce same output
|
|
```
|
|
|
|
**Test 3: Test error handling (unplug network cable)**
|
|
```
|
|
C:\>UPDATE
|
|
|
|
Expected output:
|
|
Checking network drive T:...
|
|
[ERROR] T: drive not available
|
|
...
|
|
Press any key to exit...
|
|
```
|
|
|
|
### Verify Backup
|
|
|
|
```
|
|
REM Check backup directory was created
|
|
T:
|
|
CD \TS-4R\BACKUP
|
|
DIR /S
|
|
|
|
REM You should see all files from C:\ copied here
|
|
REM Return to C:
|
|
C:
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Problem: "Bad command or file name" when running UPDATE
|
|
|
|
**Fix 1: Add to PATH**
|
|
```
|
|
SET PATH=C:\DOS;C:\NET;C:\BATCH;C:\
|
|
UPDATE
|
|
```
|
|
|
|
**Fix 2: Run with full path**
|
|
```
|
|
C:\BATCH\UPDATE.BAT
|
|
```
|
|
|
|
**Fix 3: Add to AUTOEXEC.BAT permanently**
|
|
```
|
|
EDIT C:\AUTOEXEC.BAT
|
|
REM Add: SET PATH=C:\DOS;C:\NET;C:\BATCH;C:\
|
|
REM Save and reboot
|
|
```
|
|
|
|
### Problem: MACHINE variable not set after reboot
|
|
|
|
**Causes:**
|
|
1. AUTOEXEC.BAT not running
|
|
2. SET MACHINE line missing or commented out
|
|
3. Environment space too small
|
|
|
|
**Fix:**
|
|
```
|
|
REM Check if AUTOEXEC.BAT exists
|
|
DIR C:\AUTOEXEC.BAT
|
|
|
|
REM Edit and verify SET MACHINE line exists
|
|
EDIT C:\AUTOEXEC.BAT
|
|
|
|
REM Add if missing:
|
|
SET MACHINE=TS-4R
|
|
|
|
REM If environment space error, edit CONFIG.SYS:
|
|
EDIT C:\CONFIG.SYS
|
|
REM Add or modify:
|
|
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /P /E:1024
|
|
|
|
REM Reboot
|
|
```
|
|
|
|
### Problem: T: drive not accessible
|
|
|
|
**Fix 1: Start network manually**
|
|
```
|
|
C:\NET\STARTNET.BAT
|
|
```
|
|
|
|
**Fix 2: Check network cable**
|
|
- Look for link light on NIC
|
|
- Verify cable connected
|
|
|
|
**Fix 3: Verify NAS server**
|
|
- Check D2TESTNAS is online
|
|
- Test from another machine
|
|
|
|
**Fix 4: Manual mapping**
|
|
```
|
|
NET USE T: \\D2TESTNAS\test /YES
|
|
NET USE X: \\D2TESTNAS\datasheets /YES
|
|
```
|
|
|
|
### Problem: Backup seems to work but files not on network
|
|
|
|
**Check 1: Verify backup location**
|
|
```
|
|
T:
|
|
CD \
|
|
DIR
|
|
|
|
REM Look for TS-4R directory
|
|
CD \TS-4R
|
|
DIR
|
|
|
|
REM Look for BACKUP subdirectory
|
|
CD BACKUP
|
|
DIR /S
|
|
```
|
|
|
|
**Check 2: Verify MACHINE variable**
|
|
```
|
|
SET MACHINE
|
|
|
|
REM Should show: MACHINE=TS-4R
|
|
REM Backup goes to T:\[MACHINE]\BACKUP
|
|
```
|
|
|
|
## What Each File Does
|
|
|
|
### UPDATE.BAT
|
|
- Detects machine name from %MACHINE% or parameter
|
|
- Verifies T: drive is accessible
|
|
- Creates T:\[MACHINE]\BACKUP directory
|
|
- Copies all C:\ files to backup using XCOPY
|
|
- Shows errors clearly if anything fails
|
|
|
|
### AUTOEXEC.BAT
|
|
- Sets MACHINE variable for this specific machine
|
|
- Sets PATH to include C:\BATCH
|
|
- Calls STARTNET.BAT to start network
|
|
- Shows network status
|
|
- (Optionally) Runs UPDATE.BAT automatically
|
|
|
|
### STARTNET.BAT
|
|
- Starts Microsoft Network Client (NET START)
|
|
- Maps T: to \\D2TESTNAS\test
|
|
- Maps X: to \\D2TESTNAS\datasheets
|
|
- Shows error messages if mapping fails
|
|
|
|
### DOSTEST.BAT
|
|
- Tests configuration is correct
|
|
- Checks MACHINE variable set
|
|
- Checks files exist in correct locations
|
|
- Checks PATH includes C:\BATCH
|
|
- Checks network drives accessible
|
|
- Reports what needs fixing
|
|
|
|
## DOS 6.22 Compatibility Notes
|
|
|
|
This package is specifically designed for DOS 6.22 and avoids all modern Windows CMD features:
|
|
|
|
**NOT used (Windows only):**
|
|
- `IF /I` (case-insensitive compare)
|
|
- `%ERRORLEVEL%` variable
|
|
- `&&` and `||` operators
|
|
- `FOR /F` loops
|
|
- Long filenames
|
|
|
|
**Used instead (DOS 6.22):**
|
|
- `IF ERRORLEVEL n` syntax
|
|
- `GOTO` for flow control
|
|
- Simple `FOR %%F IN (*.*)` loops
|
|
- 8.3 filenames only
|
|
- `2>NUL` for error redirection
|
|
|
|
## Why Your Manual XCOPY Worked
|
|
|
|
Your manual command succeeded:
|
|
```
|
|
XCOPY /S C:\*.* T:\TS-4R\BACKUP
|
|
```
|
|
|
|
Because you:
|
|
1. Ran it AFTER network was already started
|
|
2. Manually typed the machine name (TS-4R)
|
|
3. Didn't need error checking
|
|
|
|
UPDATE.BAT failed because:
|
|
1. Tried to auto-detect machine name (wrong method)
|
|
2. Tried to check T: drive (wrong method)
|
|
|
|
Now UPDATE.BAT uses the correct DOS 6.22 methods.
|
|
|
|
## Support Files
|
|
|
|
For detailed information, see:
|
|
|
|
- **DOS_FIX_SUMMARY.md** - Quick overview of problem and fix
|
|
- **DOS_BATCH_ANALYSIS.md** - Technical deep-dive (for programmers)
|
|
- **DOS_DEPLOYMENT_GUIDE.md** - Complete step-by-step deployment
|
|
|
|
## Quick Command Reference
|
|
|
|
```
|
|
REM Show environment variables
|
|
SET
|
|
|
|
REM Show specific variable
|
|
SET MACHINE
|
|
|
|
REM Show network drives
|
|
NET USE
|
|
|
|
REM Test drive access
|
|
T:
|
|
DIR
|
|
|
|
REM Run backup
|
|
UPDATE
|
|
|
|
REM Run backup with specific machine name
|
|
UPDATE TS-4R
|
|
|
|
REM Test configuration
|
|
DOSTEST
|
|
|
|
REM Start network manually
|
|
C:\NET\STARTNET.BAT
|
|
|
|
REM View backup
|
|
T:
|
|
CD \TS-4R\BACKUP
|
|
DIR /S
|
|
```
|
|
|
|
## Next Steps
|
|
|
|
1. **Deploy files to DOS machine** (see Deployment Methods above)
|
|
2. **Edit AUTOEXEC.BAT** to set correct MACHINE name
|
|
3. **Reboot machine** to load new AUTOEXEC.BAT
|
|
4. **Run DOSTEST** to verify configuration
|
|
5. **Run UPDATE** to test backup
|
|
6. **Verify backup** on T: drive
|
|
7. **(Optional) Enable automatic backup** in AUTOEXEC.BAT
|
|
|
|
## Version
|
|
|
|
- **Package version:** 1.0
|
|
- **Created:** 2026-01-19
|
|
- **For:** DOS 6.22 systems with Microsoft Network Client
|
|
- **Tested on:** Dataforth test machine TS-4R
|
|
|
|
## Files Summary
|
|
|
|
```
|
|
UPDATE.BAT - Fixed backup script with proper DOS 6.22 detection
|
|
AUTOEXEC.BAT - Startup script with MACHINE variable
|
|
STARTNET.BAT - Network initialization with error handling
|
|
DOSTEST.BAT - Configuration test script
|
|
DOS_FIX_SUMMARY.md - Executive summary
|
|
DOS_BATCH_ANALYSIS.md - Technical analysis
|
|
DOS_DEPLOYMENT_GUIDE.md - Complete deployment guide
|
|
README_DOS_FIX.md - This file
|
|
```
|
|
|
|
## Contact
|
|
|
|
Files created by Claude (Anthropic) for DOS 6.22 Dataforth test machines.
|
|
Date: 2026-01-19
|
|
|
|
If issues persist after following this guide, check:
|
|
1. Physical network connections
|
|
2. NAS server status
|
|
3. PROTOCOL.INI network configuration
|
|
4. SMB1 protocol enabled on D2TESTNAS
|