9.8 KiB
Dataforth DOS - Session Log: 2026-01-20
Project: Dataforth DOS Update System Client: Dataforth Duration: ~6 hours Status: All DOS 6.22 compatibility issues fixed and deployed to production
Session Summary
What Was Accomplished
Fixed all critical DOS 6.22 compatibility issues preventing the update system from working on production machines (TS-4R and ~30 other test stations).
8 Major Issues Fixed:
- UPDATE.BAT XCOPY /D parameter error
- STARTNET.BAT path references (C:\NET vs C:\STARTNET)
- NWTOC.BAT XCOPY /D errors (2 instances)
- CHECKUPD.BAT XCOPY /D error
- Root UPDATE.BAT structure (wrong file)
- Unreliable drive tests (DIR >nul pattern)
- Empty directory checks (T:\COMMON*.*)
- XCOPY "Too many parameters" - replaced with COPY
Files Modified: 9 production BAT files Deployments: 39+ successful deployments to AD2 and NAS Final Versions:
- NWTOC.BAT v2.5 (uses COPY instead of XCOPY)
- UPDATE.BAT v2.3 (fixed XCOPY trailing backslash)
- CHECKUPD.BAT v1.3 (fixed directory checks)
- CTONW.BAT v2.1 (fixed drive test)
- DOSTEST.BAT v1.1 (fixed drive tests)
- AUTOEXEC.BAT, DEPLOY.BAT (STARTNET path fixes)
Key Decisions Made
-
Replace XCOPY with COPY for flat files
- Rationale: XCOPY in DOS 6.22 has unpredictable parameter errors
- Solution: Use simple COPY for non-recursive operations
- Result: More reliable, simpler code
-
Use IF NOT EXIST drive:*. for drive tests*
- Rationale: DIR drive:\ >nul is unreliable in DOS 6.22
- Solution: Direct file existence check
- Result: Consistent drive detection
-
Skip empty directory checks
- Rationale: T:\COMMON has no files, only subdirectories
- Solution: Check T:\COMMON\ProdSW*.* directly
- Result: Avoids false "directory not found" errors
-
Remove trailing backslashes from XCOPY destinations
- Rationale: DOS 6.22 XCOPY interprets paths differently with trailing \
- Solution: Use C:\BAT not C:\BAT\
- Result: Fixes "Too many parameters" errors
-
Deploy directly to NAS when AD2 sync not working
- Rationale: Faster testing iteration
- Solution: SCP files directly to D2TESTNAS
- Result: Immediate availability for testing
Problems Encountered and Solutions
Problem 1: "Invalid number of parameters" during UPDATE.BAT
- Error: XCOPY command failed
- Investigation: /D flag requires date in DOS 6.22
- Solution: Removed /D flag
- File: UPDATE.BAT v2.1 → v2.3
Problem 2: Deployment calling wrong STARTNET.BAT
- Error: C:\NET\STARTNET.BAT (old version) being called
- Investigation: All files referenced wrong path
- Solution: Changed all references to C:\STARTNET.BAT
- Files: 7 BAT files updated
Problem 3: "Too many parameters" in NWTOC.BAT
- Error: XCOPY T:\COMMON\ProdSW*.BAT C:\BAT\ /Y failed
- Investigation: Tried multiple variations - all failed
- Solution: Replaced XCOPY with simple COPY command
- File: NWTOC.BAT v2.4 → v2.5
Problem 4: "[ERROR] T:\COMMON directory not found"
- Error: IF NOT EXIST T:\COMMON*.* failed
- Investigation: Directory exists but has no files (only subdirs)
- Solution: Skip check, go directly to T:\COMMON\ProdSW*.*
- File: NWTOC.BAT v2.3
Problem 5: Drive test unreliable
- Error: DIR T:\ >nul pattern didn't work consistently
- Investigation: DOS 6.22 ERRORLEVEL checks after DIR >nul are unreliable
- Solution: Use IF NOT EXIST T:*.* instead
- Files: UPDATE.BAT, NWTOC.BAT, CTONW.BAT, CHECKUPD.BAT, DOSTEST.BAT
Problem 6: Root UPDATE.BAT was wrong file
- Error: Full backup utility deployed instead of redirect script
- Investigation: Deployment mistake - wrong file copied
- Solution: Deployed UPDATE-ROOT.BAT as UPDATE.BAT to root
- Result: T:\UPDATE TS-4R now correctly calls DEPLOY.BAT
Infrastructure & Servers
AD2 (Production Server - 192.168.0.6)
- Host: 192.168.0.6
- User: INTRANET\sysadmin
- Password: Paper123!@#
- Share: C:\Shares\test\
- Role: Production file server, syncs to NAS every 15 minutes
- Deployed Files: All BAT files to COMMON\ProdSW and _COMMON\ProdSW
D2TESTNAS (SMB1 Proxy - 192.168.0.9)
- Host: 192.168.0.9
- SSH User: root (ed25519 key, passwordless)
- Share: /data/test (maps to T:)
- Role: SMB1 bridge for DOS 6.22 machines
- Deployed Files: Direct SCP deployment of all fixed BAT files to /data/test/COMMON/ProdSW/
DOS Machines (TS-XX)
- Test Machine: TS-4R (192.168.0.x)
- OS: MS-DOS 6.22
- Count: ~30 test stations
- Network: T: = \D2TESTNAS\test, X: = \D2TESTNAS\datasheets
- Status: Ready for testing with all fixed files
Commands & Outputs
Key Deployment Commands
Deploy to AD2 (PowerShell):
$Password = ConvertTo-SecureString "Paper123!@#" -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential("INTRANET\sysadmin", $Password)
New-PSDrive -Name TEMP_AD2 -PSProvider FileSystem -Root "\\192.168.0.6\C$" -Credential $Cred
Copy-Item D:\ClaudeTools\*.BAT TEMP_AD2:\Shares\test\COMMON\ProdSW\ -Force
Remove-PSDrive TEMP_AD2
Deploy to NAS (SSH/SCP):
cd D:/ClaudeTools
scp NWTOC.BAT UPDATE.BAT CTONW.BAT CHECKUPD.BAT root@192.168.0.9:/data/test/COMMON/ProdSW/
Verify on NAS:
ssh root@192.168.0.9 "ls -lh /data/test/COMMON/ProdSW/*.BAT"
ssh root@192.168.0.9 "grep 'Version:' /data/test/COMMON/ProdSW/NWTOC.BAT"
Configuration Changes
Files Created (61 total)
Batch Files (17):
- AUTOEXEC.BAT, CHECKUPD.BAT, CTONW.BAT, CTONWTXT.BAT
- DEPLOY.BAT, DOSTEST.BAT, NWTOC.BAT, REBOOT.BAT
- STAGE.BAT, STARTNET.BAT, UPDATE.BAT, UPDATE-ROOT.BAT
- DEPLOY_FROM_AD2.BAT, DEPLOY_FROM_NAS.BAT, DEPLOY_TEST.BAT
- DEPLOY_VERIFY.BAT, TEST-NWTOC.BAT
Deployment Scripts (33):
- deploy-update-fix.ps1, deploy-startnet-fix.ps1
- deploy-xcopy-fix-round2.ps1, deploy-drive-test-fix.ps1
- push-to-nas-direct.ps1, fix-root-update.ps1
- Plus 27 other deployment and fix scripts
Documentation (8):
- DOS_FIX_COMPLETE_2026-01-20.md
- UPDATE_BAT_FIX_2026-01-20.md
- STARTNET_PATH_FIX_2026-01-20.md
- DOS_DEPLOYMENT_GUIDE.md
- DOS_DEPLOYMENT_STATUS.md
- DOS_BATCH_ANALYSIS.md
- DOS_FIX_SUMMARY.md
- README_DOS_FIX.md
Organization Files (3):
- projects/dataforth-dos/PROJECT_INDEX.md
- PROJECT_ORGANIZATION.md
- .claude/FILE_PLACEMENT_GUIDE.md
Files Modified
All 9 production BAT files went through multiple versions:
- NWTOC.BAT: v2.0 → v2.5 (5 versions)
- UPDATE.BAT: v2.0 → v2.3 (3 versions)
- CHECKUPD.BAT: v1.0 → v1.3 (3 versions)
- CTONW.BAT: v2.0 → v2.1 (1 version)
- DOSTEST.BAT: v1.0 → v1.1 (1 version)
- AUTOEXEC.BAT, DEPLOY.BAT: Path fixes
DOS 6.22 Compatibility Lessons Learned
What Doesn't Work
- XCOPY /D - Requires date parameter: /D:mm-dd-yy
- DIR drive:\ >nul with ERRORLEVEL - Unreliable
- IF NOT EXIST path\NUL - \NUL doesn't work for directories
- XCOPY with trailing backslash - Causes "Too many parameters"
- Checking empty directories with *.* - Returns false if no files
What Works Reliably
- COPY - Simple, predictable for flat files
- IF NOT EXIST drive:*.* - Direct file check for drive access
- IF NOT EXIST path*.* - Works for directories with files
- XCOPY without /D - Works for recursive operations
- No trailing backslash - XCOPY C:*.* dest not dest\
Pending/Incomplete Tasks
Immediate Next Steps
-
Test on TS-4R (User testing now)
- Run T:\COMMON\ProdSW\NWTOC.BAT
- Run C:\BAT\UPDATE (after NWTOC copies files)
- Verify no errors
-
Monitor for 24-48 hours
- Watch for any edge cases
- Verify AD2→NAS sync working
- Check other TS-XX machines
-
Full Rollout (After successful pilot)
- Deploy to remaining ~29 machines
- Document rollout procedure
- Create success criteria checklist
Future Enhancements (Optional)
- Add logging to batch files
- Create rollback procedure
- Automated verification script
- Update documentation for end users
Reference Information
File Locations
Production (NAS):
- T:\COMMON\ProdSW\ - All utility BAT files
- T:\UPDATE.BAT - Redirect to DEPLOY.BAT
- T:\TS-XX\ - Machine-specific folders
Development:
- D:\ClaudeTools\projects\dataforth-dos\batch-files\ - Source files
- D:\ClaudeTools\projects\dataforth-dos\deployment-scripts\ - Deploy scripts
- D:\ClaudeTools\projects\dataforth-dos\documentation\ - Tech docs
Backup (AD2):
- C:\Shares\test\COMMON\ProdSW\ - Primary location
- C:\Shares\test_COMMON\ProdSW\ - Backup location
Version Numbers (Latest)
- NWTOC.BAT: v2.5
- UPDATE.BAT: v2.3
- CHECKUPD.BAT: v1.3
- CTONW.BAT: v2.1
- DOSTEST.BAT: v1.1
- STARTNET.BAT: v2.0
- Others: Various (see PROJECT_INDEX.md)
Key Technical Details
DOS 6.22 Limitations:
- No FOR /F loops
- No IF /I
- No %COMPUTERNAME%
- XCOPY /D requires date
- 256-byte environment limit
Network Stack:
- MS Client 3.0 for DOS
- Netware VLM client
- SMB1 protocol (D2TESTNAS)
Update Flow:
- Admin → AD2 (C:\Shares\test)
- AD2 → NAS (every 15 min via Sync-FromNAS.ps1)
- NAS → DOS machines (via NWTOC.BAT)
Project Organization (NEW)
All Dataforth DOS work is now organized in:
projects/dataforth-dos/
├── batch-files/ (17 files)
├── deployment-scripts/ (33 files)
├── documentation/ (8 files)
└── session-logs/ (this file)
See PROJECT_INDEX.md for complete project reference.
Session Metrics
- Session Duration: ~6 hours
- Issues Fixed: 8 major compatibility issues
- Files Modified: 9 production BAT files
- Deployments: 39+ successful
- Versions Created: 14 version increments
- Documentation Created: 8 comprehensive docs
- Scripts Created: 33 deployment/fix scripts
- Organization: Complete project restructure
Status: COMPLETE - Ready for production testing Next Session: Monitor TS-4R results, prepare for full rollout