sync: Auto-sync from Mikes-MacBook-Air.local at 2026-01-22 19:10:48

Synced files:
- DOS batch files updated (ATESYNC, CTONWTXT, DEPLOY, NWTOC, etc.)
- New debug batch files (ATESYNCD, CTONWD, NWTOCD, DIAGBK)
- Removed obsolete debug files (ATESYNC-DEBUG, CTONW-DEBUG, NWTOC-DEBUG)
- New deployment scripts (deploy-to-nas.sh, validate-dos.sh)
- DOS coding agent documentation updated

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-01-22 19:10:48

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 19:10:59 -07:00
parent 33bd99eb4e
commit 63ab144c8f
23 changed files with 3111 additions and 2869 deletions

View File

@@ -284,6 +284,73 @@ IF NOT EXIST dest\file.txt GOTO ERROR
--- ---
### RULE 19: DOS Line Endings (CR/LF) Required
**Status:** CONFIRMED - LF-only files cause parse errors
DOS 6.22 requires CR/LF (Carriage Return + Line Feed) line endings:
- CR = 0x0D (hex) = \r
- LF = 0x0A (hex) = \n
- DOS needs: CR+LF (0x0D 0x0A)
- Unix uses: LF only (0x0A) - WILL NOT WORK
```bash
# [BAD] Unix line endings (LF only)
# File created on Mac/Linux without conversion
# [GOOD] Convert to DOS line endings before deployment
# On Mac/Linux:
unix2dos FILENAME.BAT
# Or with sed:
sed -i 's/$/\r/' FILENAME.BAT
# Or with Perl:
perl -pi -e 's/\n/\r\n/' FILENAME.BAT
```
**Symptoms of wrong line endings:**
- Commands run together on same line
- "Bad command or file name" on valid commands
- Script appears to do nothing
- Unexpected behavior at label jumps
**CRITICAL:** Always convert files to DOS line endings (CR/LF) before copying to DOS machines.
---
### RULE 20: No Trailing Spaces in SET Statements
**Status:** CONFIRMED - Causes "Too many parameters" errors
Trailing spaces in SET commands become part of the variable value:
```batch
REM [BAD] Trailing space after value
SET MACHINE=TS-3R
REM %MACHINE% = "TS-3R " (with trailing space!)
REM T:\%MACHINE%\LOGS becomes T:\TS-3R \LOGS - FAILS!
REM [GOOD] No trailing space
SET MACHINE=TS-3R
REM %MACHINE% = "TS-3R" (no space)
REM T:\%MACHINE%\LOGS becomes T:\TS-3R\LOGS - CORRECT
```
**Symptoms:**
- "Too many parameters" on MD, COPY, XCOPY commands using the variable
- Paths appear correct in ECHO but fail in actual commands
- Mysterious failures that work when paths are hardcoded
**Prevention:**
```bash
# Check for trailing spaces in SET statements
grep -E "^SET [A-Z]+=.* $" *.BAT
# Strip trailing whitespace from all lines before deployment
sed -i 's/[[:space:]]*$//' *.BAT
```
**CRITICAL:** Always strip trailing whitespace from batch files before deployment.
---
## Validation Checklist ## Validation Checklist
Before deploying ANY DOS batch file, verify: Before deploying ANY DOS batch file, verify:
@@ -303,6 +370,8 @@ Before deploying ANY DOS batch file, verify:
- [ ] Using COPY instead of XCOPY where possible - [ ] Using COPY instead of XCOPY where possible
- [ ] Environment variables quoted in comparisons - [ ] Environment variables quoted in comparisons
- [ ] Clean up SET variables at end - [ ] Clean up SET variables at end
- [ ] **CR/LF line endings (DOS format, not Unix LF)**
- [ ] **No trailing spaces in SET statements or any lines**
--- ---
@@ -432,17 +501,22 @@ FOR %%V IN (set) DO command - Loop (simple use only)
| Error Message | Likely Cause | Fix | | Error Message | Likely Cause | Fix |
|---------------|--------------|-----| |---------------|--------------|-----|
| Bad command or file name | CALL :label, %DATE%, %TIME%, square brackets | Remove NT+ syntax | | Bad command or file name | CALL :label, %DATE%, %TIME%, square brackets, wrong line endings | Remove NT+ syntax, convert to CR/LF |
| Too many parameters | 2>NUL, square brackets in ECHO | Remove stderr redirect, remove brackets | | Too many parameters | 2>NUL, square brackets in ECHO | Remove stderr redirect, remove brackets |
| Invalid switch | XCOPY /I, XCOPY /D | Use COPY or remove flag | | Invalid switch | XCOPY /I, XCOPY /D | Use COPY or remove flag |
| Invalid number of parameters | XCOPY /D without date | Add date or use COPY | | Invalid number of parameters | XCOPY /D without date | Add date or use COPY |
| Syntax error | Various NT+ constructs | Review all rules | | Syntax error | Various NT+ constructs | Review all rules |
| Commands run together | Unix LF line endings instead of DOS CR/LF | Convert with unix2dos |
| Script does nothing | Wrong line endings causing parse failure | Convert with unix2dos |
| Too many parameters on paths | Trailing space in SET variable value | Strip trailing whitespace: `sed -i 's/[[:space:]]*$//'` |
--- ---
## Version History ## Version History
- 2026-01-21: Initial creation with 18 rules - 2026-01-21: Initial creation with 18 rules
- 2026-01-21: Added Rule 19 - CR/LF line endings requirement
- 2026-01-21: Added Rule 20 - No trailing spaces in SET statements
- Rules confirmed through testing on actual DOS 6.22 machines - Rules confirmed through testing on actual DOS 6.22 machines
--- ---

View File

@@ -1,87 +1,87 @@
@ECHO OFF @ECHO OFF
REM ATESYNC.BAT - ATE Sync Orchestrator (ARCHBAT equivalent) REM ATESYNC.BAT - ATE Sync Orchestrator (ARCHBAT equivalent)
REM Version: 1.1 - DOS 6.22 compatible REM Version: 1.1 - DOS 6.22 compatible
REM Last modified: 2026-01-21 REM Last modified: 2026-01-21
REM REM
REM Called from AUTOEXEC.BAT after network is up REM Called from AUTOEXEC.BAT after network is up
REM Usage: ATESYNC TS-27 REM Usage: ATESYNC TS-27
REM or: ATESYNC (uses MACHINE environment variable) REM or: ATESYNC (uses MACHINE environment variable)
REM Get machine name from parameter or environment REM Get machine name from parameter or environment
IF NOT "%1"=="" SET MACHINE=%1 IF NOT "%1"=="" SET MACHINE=%1
IF "%MACHINE%"=="" GOTO NO_MACHINE IF "%MACHINE%"=="" GOTO NO_MACHINE
REM Verify T: drive is available REM Verify T: drive is available
IF NOT EXIST T:\*.* GOTO NO_DRIVE IF NOT EXIST T:\*.* GOTO NO_DRIVE
REM Verify machine folder exists on network REM Verify machine folder exists on network
IF NOT EXIST T:\%MACHINE%\*.* GOTO CREATE_MACHINE IF NOT EXIST T:\%MACHINE%\*.* GOTO CREATE_MACHINE
:START_SYNC :START_SYNC
ECHO. ECHO.
ECHO ************************************************************ ECHO ************************************************************
ECHO ATESYNC: %MACHINE% ECHO ATESYNC: %MACHINE%
ECHO ************************************************************ ECHO ************************************************************
ECHO. ECHO.
REM Step 1: Upload test results FIRST (before downloading updates) REM Step 1: Upload test results FIRST (before downloading updates)
ECHO Sending test results to network... ECHO Sending test results to network...
CALL CTONW.BAT CALL CTONW.BAT
ECHO. ECHO.
REM Step 2: Download software updates REM Step 2: Download software updates
ECHO Getting updates from network... ECHO Getting updates from network...
CALL NWTOC.BAT CALL NWTOC.BAT
ECHO. ECHO.
ECHO ************************************************************ ECHO ************************************************************
ECHO ATESYNC Complete: %MACHINE% ECHO ATESYNC Complete: %MACHINE%
ECHO ************************************************************ ECHO ************************************************************
ECHO. ECHO.
GOTO END GOTO END
:CREATE_MACHINE :CREATE_MACHINE
ECHO Creating machine folder T:\%MACHINE% ECHO Creating machine folder T:\%MACHINE%
MD T:\%MACHINE% MD T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\*.* GOTO MACHINE_ERROR IF NOT EXIST T:\%MACHINE%\*.* GOTO MACHINE_ERROR
MD T:\%MACHINE%\LOGS MD T:\%MACHINE%\LOGS
MD T:\%MACHINE%\LOGS\5BLOG MD T:\%MACHINE%\LOGS\5BLOG
MD T:\%MACHINE%\LOGS\7BLOG MD T:\%MACHINE%\LOGS\7BLOG
MD T:\%MACHINE%\LOGS\8BLOG MD T:\%MACHINE%\LOGS\8BLOG
MD T:\%MACHINE%\LOGS\DSCLOG MD T:\%MACHINE%\LOGS\DSCLOG
MD T:\%MACHINE%\LOGS\HVLOG MD T:\%MACHINE%\LOGS\HVLOG
MD T:\%MACHINE%\LOGS\PWRLOG MD T:\%MACHINE%\LOGS\PWRLOG
MD T:\%MACHINE%\LOGS\SCTLOG MD T:\%MACHINE%\LOGS\SCTLOG
MD T:\%MACHINE%\LOGS\VASLOG MD T:\%MACHINE%\LOGS\VASLOG
MD T:\%MACHINE%\ProdSW MD T:\%MACHINE%\ProdSW
MD T:\%MACHINE%\Reports MD T:\%MACHINE%\Reports
ECHO Machine folder created ECHO Machine folder created
GOTO START_SYNC GOTO START_SYNC
:NO_MACHINE :NO_MACHINE
ECHO. ECHO.
ECHO ************************************************************ ECHO ************************************************************
ECHO ERROR: MACHINE not set ECHO ERROR: MACHINE not set
ECHO. ECHO.
ECHO Usage: ATESYNC TS-27 ECHO Usage: ATESYNC TS-27
ECHO or: SET MACHINE=TS-27 ECHO or: SET MACHINE=TS-27
ECHO ATESYNC ECHO ATESYNC
ECHO ************************************************************ ECHO ************************************************************
PAUSE PAUSE
GOTO END GOTO END
:NO_DRIVE :NO_DRIVE
ECHO. ECHO.
ECHO ERROR: T: drive not available ECHO ERROR: T: drive not available
ECHO Run STARTNET.BAT first ECHO Run STARTNET.BAT first
PAUSE PAUSE
GOTO END GOTO END
:MACHINE_ERROR :MACHINE_ERROR
ECHO. ECHO.
ECHO ERROR: Could not create T:\%MACHINE% ECHO ERROR: Could not create T:\%MACHINE%
ECHO Check network permissions ECHO Check network permissions
PAUSE PAUSE
GOTO END GOTO END
:END :END

View File

@@ -1,129 +1,130 @@
@ECHO OFF @ECHO OFF
REM ATESYNC-DEBUG.BAT - ATE Sync with diagnostic pauses REM ATESYNCD.BAT - ATE Sync with diagnostic pauses (8.3 name)
REM Version: 1.0 - Debug version for recording boot process REM Version: 1.1 - Debug version for recording boot process
REM Last modified: 2026-01-21 REM Last modified: 2026-01-21
REM REM
REM This version pauses at each step for video recording REM This version pauses at each step for video recording
REM Usage: ATESYNCD TS-3R
IF NOT "%1"=="" SET MACHINE=%1
IF "%MACHINE%"=="" GOTO NO_MACHINE IF NOT "%1"=="" SET MACHINE=%1
IF "%MACHINE%"=="" GOTO NO_MACHINE
ECHO.
ECHO ============================================================== ECHO.
ECHO DEBUG MODE: ATESYNC ECHO ==============================================================
ECHO ============================================================== ECHO DEBUG MODE: ATESYNCD
ECHO. ECHO ==============================================================
ECHO STEP 0: Machine name set ECHO.
ECHO MACHINE = %MACHINE% ECHO STEP 0: Machine name set
ECHO. ECHO MACHINE = %MACHINE%
ECHO Press any key to continue to Step 1... ECHO.
PAUSE ECHO Press any key to continue to Step 1...
PAUSE
REM Verify T: drive
ECHO. REM Verify T: drive
ECHO ============================================================== ECHO.
ECHO STEP 1: Checking T: drive ECHO ==============================================================
ECHO ============================================================== ECHO STEP 1: Checking T: drive
IF NOT EXIST T:\*.* GOTO NO_DRIVE ECHO ==============================================================
ECHO T: drive is accessible IF NOT EXIST T:\*.* GOTO NO_DRIVE
ECHO. ECHO T: drive is accessible
ECHO Press any key to continue to Step 2... ECHO.
PAUSE ECHO Press any key to continue to Step 2...
PAUSE
REM Check machine folder
ECHO. REM Check machine folder
ECHO ============================================================== ECHO.
ECHO STEP 2: Checking machine folder T:\%MACHINE% ECHO ==============================================================
ECHO ============================================================== ECHO STEP 2: Checking machine folder T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\*.* GOTO CREATE_MACHINE ECHO ==============================================================
ECHO Machine folder exists IF NOT EXIST T:\%MACHINE%\*.* GOTO CREATE_MACHINE
ECHO. ECHO Machine folder exists
ECHO Press any key to continue to Step 3... ECHO.
PAUSE ECHO Press any key to continue to Step 3...
GOTO START_SYNC PAUSE
GOTO START_SYNC
:CREATE_MACHINE
ECHO Machine folder not found - creating... :CREATE_MACHINE
MD T:\%MACHINE% ECHO Machine folder not found - creating...
IF NOT EXIST T:\%MACHINE%\*.* GOTO MACHINE_ERROR MD T:\%MACHINE%
MD T:\%MACHINE%\LOGS IF NOT EXIST T:\%MACHINE%\*.* GOTO MACHINE_ERROR
MD T:\%MACHINE%\LOGS\5BLOG MD T:\%MACHINE%\LOGS
MD T:\%MACHINE%\LOGS\7BLOG MD T:\%MACHINE%\LOGS\5BLOG
MD T:\%MACHINE%\LOGS\8BLOG MD T:\%MACHINE%\LOGS\7BLOG
MD T:\%MACHINE%\LOGS\DSCLOG MD T:\%MACHINE%\LOGS\8BLOG
MD T:\%MACHINE%\LOGS\HVLOG MD T:\%MACHINE%\LOGS\DSCLOG
MD T:\%MACHINE%\LOGS\PWRLOG MD T:\%MACHINE%\LOGS\HVLOG
MD T:\%MACHINE%\LOGS\SCTLOG MD T:\%MACHINE%\LOGS\PWRLOG
MD T:\%MACHINE%\LOGS\VASLOG MD T:\%MACHINE%\LOGS\SCTLOG
MD T:\%MACHINE%\ProdSW MD T:\%MACHINE%\LOGS\VASLOG
MD T:\%MACHINE%\Reports MD T:\%MACHINE%\ProdSW
ECHO Machine folder structure created MD T:\%MACHINE%\Reports
ECHO. ECHO Machine folder structure created
ECHO Press any key to continue to Step 3... ECHO.
PAUSE ECHO Press any key to continue to Step 3...
PAUSE
:START_SYNC
ECHO. :START_SYNC
ECHO ============================================================== ECHO.
ECHO STEP 3: Starting CTONW (Upload test results) ECHO ==============================================================
ECHO ============================================================== ECHO STEP 3: Starting CTONWD (Upload test results)
ECHO About to call: CTONW-DEBUG.BAT ECHO ==============================================================
ECHO. ECHO About to call: CTONWD.BAT
ECHO Press any key to run CTONW-DEBUG... ECHO.
PAUSE ECHO Press any key to run CTONWD...
CALL CTONW-DEBUG.BAT PAUSE
ECHO. CALL CTONWD.BAT
ECHO CTONW-DEBUG completed ECHO.
ECHO. ECHO CTONWD completed
ECHO Press any key to continue to Step 4... ECHO.
PAUSE ECHO Press any key to continue to Step 4...
PAUSE
ECHO.
ECHO ============================================================== ECHO.
ECHO STEP 4: Starting NWTOC (Download updates) ECHO ==============================================================
ECHO ============================================================== ECHO STEP 4: Starting NWTOCD (Download updates)
ECHO About to call: NWTOC-DEBUG.BAT ECHO ==============================================================
ECHO. ECHO About to call: NWTOCD.BAT
ECHO Press any key to run NWTOC-DEBUG... ECHO.
PAUSE ECHO Press any key to run NWTOCD...
CALL NWTOC-DEBUG.BAT PAUSE
ECHO. CALL NWTOCD.BAT
ECHO NWTOC-DEBUG completed ECHO.
ECHO. ECHO NWTOCD completed
ECHO Press any key to finish... ECHO.
PAUSE ECHO Press any key to finish...
PAUSE
ECHO.
ECHO ============================================================== ECHO.
ECHO ATESYNC-DEBUG Complete: %MACHINE% ECHO ==============================================================
ECHO ============================================================== ECHO ATESYNCD Complete: %MACHINE%
ECHO. ECHO ==============================================================
GOTO END ECHO.
GOTO END
:NO_MACHINE
ECHO. :NO_MACHINE
ECHO ============================================================== ECHO.
ECHO ERROR at STEP 0: MACHINE not set ECHO ==============================================================
ECHO ============================================================== ECHO ERROR at STEP 0: MACHINE not set
ECHO. ECHO ==============================================================
ECHO Usage: ATESYNC-DEBUG TS-27 ECHO.
PAUSE ECHO Usage: ATESYNCD TS-3R
GOTO END PAUSE
GOTO END
:NO_DRIVE
ECHO. :NO_DRIVE
ECHO ============================================================== ECHO.
ECHO ERROR at STEP 1: T: drive not available ECHO ==============================================================
ECHO ============================================================== ECHO ERROR at STEP 1: T: drive not available
PAUSE ECHO ==============================================================
GOTO END PAUSE
GOTO END
:MACHINE_ERROR
ECHO. :MACHINE_ERROR
ECHO ============================================================== ECHO.
ECHO ERROR at STEP 2: Could not create machine folder ECHO ==============================================================
ECHO ============================================================== ECHO ERROR at STEP 2: Could not create machine folder
PAUSE ECHO ==============================================================
GOTO END PAUSE
GOTO END
:END
:END

View File

@@ -1,81 +1,81 @@
@ECHO OFF @ECHO OFF
REM Dataforth Test Machine Startup - DOS 6.22 REM Dataforth Test Machine Startup - DOS 6.22
REM Automatically runs after CONFIG.SYS during boot REM Automatically runs after CONFIG.SYS during boot
REM Version: 3.0 - Auto-update system integrated REM Version: 3.0 - Auto-update system integrated
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
REM Set machine identity (configured by DEPLOY.BAT) REM Set machine identity (configured by DEPLOY.BAT)
SET MACHINE=TS-4R SET MACHINE=TS-4R
REM Set DOS search path for executables REM Set DOS search path for executables
SET PATH=C:\DOS;C:\NET;C:\BAT;C:\BATCH;C:\ SET PATH=C:\DOS;C:\NET;C:\BAT;C:\BATCH;C:\
REM Set command prompt to show current directory REM Set command prompt to show current directory
PROMPT $P$G PROMPT $P$G
REM Set temporary file directory REM Set temporary file directory
SET TEMP=C:\TEMP SET TEMP=C:\TEMP
SET TMP=C:\TEMP SET TMP=C:\TEMP
CLS CLS
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Dataforth Test Machine: %MACHINE% ECHO Dataforth Test Machine: %MACHINE%
ECHO DOS 6.22 with Automatic Update System ECHO DOS 6.22 with Automatic Update System
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
REM Create required directories if they don't exist REM Create required directories if they don't exist
IF NOT EXIST C:\TEMP\*.* MD C:\TEMP IF NOT EXIST C:\TEMP\*.* MD C:\TEMP
IF NOT EXIST C:\BAT\*.* MD C:\BAT IF NOT EXIST C:\BAT\*.* MD C:\BAT
IF NOT EXIST C:\BATCH\*.* MD C:\BATCH IF NOT EXIST C:\BATCH\*.* MD C:\BATCH
ECHO Starting network client... ECHO Starting network client...
ECHO. ECHO.
REM Start network client and map T: and X: drives REM Start network client and map T: and X: drives
IF EXIST C:\STARTNET.BAT CALL C:\STARTNET.BAT IF EXIST C:\STARTNET.BAT CALL C:\STARTNET.BAT
REM Verify T: drive is accessible REM Verify T: drive is accessible
IF NOT EXIST T:\*.* GOTO NET_FAILED IF NOT EXIST T:\*.* GOTO NET_FAILED
ECHO [OK] Network started ECHO (OK) Network started
ECHO. ECHO.
ECHO Network Drives: ECHO Network Drives:
ECHO T: = \\D2TESTNAS\test ECHO T: = \\D2TESTNAS\test
ECHO X: = \\D2TESTNAS\datasheets ECHO X: = \\D2TESTNAS\datasheets
ECHO. ECHO.
REM Download latest software updates from network REM Download latest software updates from network
ECHO Checking for software updates... ECHO Checking for software updates...
IF EXIST C:\BAT\NWTOC.BAT CALL C:\BAT\NWTOC.BAT IF EXIST C:\BAT\NWTOC.BAT CALL C:\BAT\NWTOC.BAT
REM Upload test data to network for database import REM Upload test data to network for database import
ECHO Uploading test data to network... ECHO Uploading test data to network...
IF EXIST C:\BAT\CTONW.BAT CALL C:\BAT\CTONW.BAT IF EXIST C:\BAT\CTONW.BAT CALL C:\BAT\CTONW.BAT
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO System Ready ECHO System Ready
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Available Commands: ECHO Available Commands:
ECHO UPDATE - Full system backup to T:\%MACHINE%\BACKUP ECHO UPDATE - Full system backup to T:\%MACHINE%\BACKUP
ECHO CHECKUPD - Check for available updates ECHO CHECKUPD - Check for available updates
ECHO CTONW - Manual upload to network ECHO CTONW - Manual upload to network
ECHO NWTOC - Manual download from network ECHO NWTOC - Manual download from network
ECHO. ECHO.
GOTO END GOTO END
:NET_FAILED :NET_FAILED
ECHO [ERROR] Network drive mapping failed ECHO ERROR: Network drive mapping failed
ECHO T: drive not accessible ECHO T: drive not accessible
ECHO. ECHO.
ECHO To start network manually: ECHO To start network manually:
ECHO C:\STARTNET.BAT ECHO C:\STARTNET.BAT
ECHO. ECHO.
ECHO Updates and backups will not work until network is available. ECHO Updates and backups will not work until network is available.
ECHO. ECHO.
PAUSE PAUSE
:END :END

View File

@@ -1,135 +1,135 @@
@ECHO OFF @ECHO OFF
REM CTONW-DEBUG.BAT - Upload with diagnostic pauses REM CTONWD.BAT - Upload with diagnostic pauses (8.3 name)
REM Version: 1.0 - Debug version for recording REM Version: 1.1 - Debug version for recording
REM Last modified: 2026-01-21 REM Last modified: 2026-01-21
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO DEBUG: CTONW - Computer to Network Upload ECHO DEBUG: CTONW - Computer to Network Upload
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
IF "%MACHINE%"=="" GOTO NO_MACHINE IF "%MACHINE%"=="" GOTO NO_MACHINE
ECHO CTONW Step 0: Verifying prerequisites ECHO CTONW Step 0: Verifying prerequisites
ECHO MACHINE = %MACHINE% ECHO MACHINE = %MACHINE%
IF NOT EXIST T:\*.* GOTO NO_DRIVE IF NOT EXIST T:\*.* GOTO NO_DRIVE
ECHO T: drive OK ECHO T: drive OK
IF NOT EXIST T:\%MACHINE%\*.* GOTO NO_FOLDER IF NOT EXIST T:\%MACHINE%\*.* GOTO NO_FOLDER
ECHO T:\%MACHINE% OK ECHO T:\%MACHINE% OK
ECHO. ECHO.
PAUSE PAUSE
IF NOT EXIST C:\ATE\*.* GOTO SKIP_ATE IF NOT EXIST C:\ATE\*.* GOTO SKIP_ATE
ECHO. ECHO.
ECHO CTONW Step 1: Creating LOGS directories on T:\%MACHINE%\LOGS ECHO CTONW Step 1: Creating LOGS directories on T:\%MACHINE%\LOGS
IF NOT EXIST T:\%MACHINE%\LOGS\*.* MD T:\%MACHINE%\LOGS IF NOT EXIST T:\%MACHINE%\LOGS\*.* MD T:\%MACHINE%\LOGS
IF NOT EXIST T:\%MACHINE%\LOGS\5BLOG\*.* MD T:\%MACHINE%\LOGS\5BLOG IF NOT EXIST T:\%MACHINE%\LOGS\5BLOG\*.* MD T:\%MACHINE%\LOGS\5BLOG
IF NOT EXIST T:\%MACHINE%\LOGS\7BLOG\*.* MD T:\%MACHINE%\LOGS\7BLOG IF NOT EXIST T:\%MACHINE%\LOGS\7BLOG\*.* MD T:\%MACHINE%\LOGS\7BLOG
IF NOT EXIST T:\%MACHINE%\LOGS\8BLOG\*.* MD T:\%MACHINE%\LOGS\8BLOG IF NOT EXIST T:\%MACHINE%\LOGS\8BLOG\*.* MD T:\%MACHINE%\LOGS\8BLOG
IF NOT EXIST T:\%MACHINE%\LOGS\DSCLOG\*.* MD T:\%MACHINE%\LOGS\DSCLOG IF NOT EXIST T:\%MACHINE%\LOGS\DSCLOG\*.* MD T:\%MACHINE%\LOGS\DSCLOG
IF NOT EXIST T:\%MACHINE%\LOGS\HVLOG\*.* MD T:\%MACHINE%\LOGS\HVLOG IF NOT EXIST T:\%MACHINE%\LOGS\HVLOG\*.* MD T:\%MACHINE%\LOGS\HVLOG
IF NOT EXIST T:\%MACHINE%\LOGS\PWRLOG\*.* MD T:\%MACHINE%\LOGS\PWRLOG IF NOT EXIST T:\%MACHINE%\LOGS\PWRLOG\*.* MD T:\%MACHINE%\LOGS\PWRLOG
IF NOT EXIST T:\%MACHINE%\LOGS\SCTLOG\*.* MD T:\%MACHINE%\LOGS\SCTLOG IF NOT EXIST T:\%MACHINE%\LOGS\SCTLOG\*.* MD T:\%MACHINE%\LOGS\SCTLOG
IF NOT EXIST T:\%MACHINE%\LOGS\VASLOG\*.* MD T:\%MACHINE%\LOGS\VASLOG IF NOT EXIST T:\%MACHINE%\LOGS\VASLOG\*.* MD T:\%MACHINE%\LOGS\VASLOG
ECHO Directories ready ECHO Directories ready
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 2: Uploading 5BLOG ECHO CTONW Step 2: Uploading 5BLOG
IF EXIST C:\ATE\5BLOG\*.DAT ECHO Found files in C:\ATE\5BLOG IF EXIST C:\ATE\5BLOG\*.DAT ECHO Found files in C:\ATE\5BLOG
IF EXIST C:\ATE\5BLOG\*.DAT COPY C:\ATE\5BLOG\*.DAT T:\%MACHINE%\LOGS\5BLOG IF EXIST C:\ATE\5BLOG\*.DAT COPY C:\ATE\5BLOG\*.DAT T:\%MACHINE%\LOGS\5BLOG
IF NOT EXIST C:\ATE\5BLOG\*.DAT ECHO No files in C:\ATE\5BLOG IF NOT EXIST C:\ATE\5BLOG\*.DAT ECHO No files in C:\ATE\5BLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 3: Uploading 7BLOG ECHO CTONW Step 3: Uploading 7BLOG
IF EXIST C:\ATE\7BLOG\*.DAT ECHO Found DAT files in C:\ATE\7BLOG IF EXIST C:\ATE\7BLOG\*.DAT ECHO Found DAT files in C:\ATE\7BLOG
IF EXIST C:\ATE\7BLOG\*.DAT COPY C:\ATE\7BLOG\*.DAT T:\%MACHINE%\LOGS\7BLOG IF EXIST C:\ATE\7BLOG\*.DAT COPY C:\ATE\7BLOG\*.DAT T:\%MACHINE%\LOGS\7BLOG
IF EXIST C:\ATE\7BLOG\*.SHT ECHO Found SHT files in C:\ATE\7BLOG IF EXIST C:\ATE\7BLOG\*.SHT ECHO Found SHT files in C:\ATE\7BLOG
IF EXIST C:\ATE\7BLOG\*.SHT COPY C:\ATE\7BLOG\*.SHT T:\%MACHINE%\LOGS\7BLOG IF EXIST C:\ATE\7BLOG\*.SHT COPY C:\ATE\7BLOG\*.SHT T:\%MACHINE%\LOGS\7BLOG
IF NOT EXIST C:\ATE\7BLOG\*.* ECHO No files in C:\ATE\7BLOG IF NOT EXIST C:\ATE\7BLOG\*.* ECHO No files in C:\ATE\7BLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 4: Uploading 8BLOG ECHO CTONW Step 4: Uploading 8BLOG
IF EXIST C:\ATE\8BLOG\*.DAT ECHO Found files in C:\ATE\8BLOG IF EXIST C:\ATE\8BLOG\*.DAT ECHO Found files in C:\ATE\8BLOG
IF EXIST C:\ATE\8BLOG\*.DAT COPY C:\ATE\8BLOG\*.DAT T:\%MACHINE%\LOGS\8BLOG IF EXIST C:\ATE\8BLOG\*.DAT COPY C:\ATE\8BLOG\*.DAT T:\%MACHINE%\LOGS\8BLOG
IF NOT EXIST C:\ATE\8BLOG\*.DAT ECHO No files in C:\ATE\8BLOG IF NOT EXIST C:\ATE\8BLOG\*.DAT ECHO No files in C:\ATE\8BLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 5: Uploading DSCLOG ECHO CTONW Step 5: Uploading DSCLOG
IF EXIST C:\ATE\DSCLOG\*.DAT ECHO Found files in C:\ATE\DSCLOG IF EXIST C:\ATE\DSCLOG\*.DAT ECHO Found files in C:\ATE\DSCLOG
IF EXIST C:\ATE\DSCLOG\*.DAT COPY C:\ATE\DSCLOG\*.DAT T:\%MACHINE%\LOGS\DSCLOG IF EXIST C:\ATE\DSCLOG\*.DAT COPY C:\ATE\DSCLOG\*.DAT T:\%MACHINE%\LOGS\DSCLOG
IF NOT EXIST C:\ATE\DSCLOG\*.DAT ECHO No files in C:\ATE\DSCLOG IF NOT EXIST C:\ATE\DSCLOG\*.DAT ECHO No files in C:\ATE\DSCLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 6: Uploading HVLOG ECHO CTONW Step 6: Uploading HVLOG
IF EXIST C:\ATE\HVLOG\*.DAT ECHO Found files in C:\ATE\HVLOG IF EXIST C:\ATE\HVLOG\*.DAT ECHO Found files in C:\ATE\HVLOG
IF EXIST C:\ATE\HVLOG\*.DAT COPY C:\ATE\HVLOG\*.DAT T:\%MACHINE%\LOGS\HVLOG IF EXIST C:\ATE\HVLOG\*.DAT COPY C:\ATE\HVLOG\*.DAT T:\%MACHINE%\LOGS\HVLOG
IF NOT EXIST C:\ATE\HVLOG\*.DAT ECHO No files in C:\ATE\HVLOG IF NOT EXIST C:\ATE\HVLOG\*.DAT ECHO No files in C:\ATE\HVLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 7: Uploading PWRLOG ECHO CTONW Step 7: Uploading PWRLOG
IF EXIST C:\ATE\PWRLOG\*.DAT ECHO Found files in C:\ATE\PWRLOG IF EXIST C:\ATE\PWRLOG\*.DAT ECHO Found files in C:\ATE\PWRLOG
IF EXIST C:\ATE\PWRLOG\*.DAT COPY C:\ATE\PWRLOG\*.DAT T:\%MACHINE%\LOGS\PWRLOG IF EXIST C:\ATE\PWRLOG\*.DAT COPY C:\ATE\PWRLOG\*.DAT T:\%MACHINE%\LOGS\PWRLOG
IF NOT EXIST C:\ATE\PWRLOG\*.DAT ECHO No files in C:\ATE\PWRLOG IF NOT EXIST C:\ATE\PWRLOG\*.DAT ECHO No files in C:\ATE\PWRLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 8: Uploading SCTLOG ECHO CTONW Step 8: Uploading SCTLOG
IF EXIST C:\ATE\SCTLOG\*.DAT ECHO Found files in C:\ATE\SCTLOG IF EXIST C:\ATE\SCTLOG\*.DAT ECHO Found files in C:\ATE\SCTLOG
IF EXIST C:\ATE\SCTLOG\*.DAT COPY C:\ATE\SCTLOG\*.DAT T:\%MACHINE%\LOGS\SCTLOG IF EXIST C:\ATE\SCTLOG\*.DAT COPY C:\ATE\SCTLOG\*.DAT T:\%MACHINE%\LOGS\SCTLOG
IF NOT EXIST C:\ATE\SCTLOG\*.DAT ECHO No files in C:\ATE\SCTLOG IF NOT EXIST C:\ATE\SCTLOG\*.DAT ECHO No files in C:\ATE\SCTLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 9: Uploading VASLOG ECHO CTONW Step 9: Uploading VASLOG
IF EXIST C:\ATE\VASLOG\*.DAT ECHO Found files in C:\ATE\VASLOG IF EXIST C:\ATE\VASLOG\*.DAT ECHO Found files in C:\ATE\VASLOG
IF EXIST C:\ATE\VASLOG\*.DAT COPY C:\ATE\VASLOG\*.DAT T:\%MACHINE%\LOGS\VASLOG IF EXIST C:\ATE\VASLOG\*.DAT COPY C:\ATE\VASLOG\*.DAT T:\%MACHINE%\LOGS\VASLOG
IF NOT EXIST C:\ATE\VASLOG\*.DAT ECHO No files in C:\ATE\VASLOG IF NOT EXIST C:\ATE\VASLOG\*.DAT ECHO No files in C:\ATE\VASLOG
PAUSE PAUSE
ECHO. ECHO.
ECHO CTONW Step 10: Uploading Reports ECHO CTONW Step 10: Uploading Reports
IF NOT EXIST T:\%MACHINE%\Reports\*.* MD T:\%MACHINE%\Reports IF NOT EXIST T:\%MACHINE%\Reports\*.* MD T:\%MACHINE%\Reports
IF EXIST C:\Reports\*.TXT ECHO Found TXT files in C:\Reports IF EXIST C:\Reports\*.TXT ECHO Found TXT files in C:\Reports
IF EXIST C:\Reports\*.TXT COPY C:\Reports\*.TXT T:\%MACHINE%\Reports IF EXIST C:\Reports\*.TXT COPY C:\Reports\*.TXT T:\%MACHINE%\Reports
IF NOT EXIST C:\Reports\*.TXT ECHO No TXT files in C:\Reports IF NOT EXIST C:\Reports\*.TXT ECHO No TXT files in C:\Reports
PAUSE PAUSE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO CTONW-DEBUG Complete ECHO CTONW-DEBUG Complete
ECHO ============================================================== ECHO ==============================================================
GOTO END GOTO END
:SKIP_ATE :SKIP_ATE
ECHO. ECHO.
ECHO CTONW: No C:\ATE directory found - skipping upload ECHO CTONW: No C:\ATE directory found - skipping upload
PAUSE PAUSE
GOTO END GOTO END
:NO_MACHINE :NO_MACHINE
ECHO. ECHO.
ECHO CTONW ERROR: MACHINE variable not set ECHO CTONW ERROR: MACHINE variable not set
PAUSE PAUSE
GOTO END GOTO END
:NO_DRIVE :NO_DRIVE
ECHO. ECHO.
ECHO CTONW ERROR: T: drive not available ECHO CTONW ERROR: T: drive not available
PAUSE PAUSE
GOTO END GOTO END
:NO_FOLDER :NO_FOLDER
ECHO. ECHO.
ECHO CTONW ERROR: T:\%MACHINE% folder not found ECHO CTONW ERROR: T:\%MACHINE% folder not found
PAUSE PAUSE
GOTO END GOTO END
:END :END

View File

@@ -1,34 +1,34 @@
@ECHO OFF @ECHO OFF
REM PWR: 2013-02-06 REM PWR: 2013-02-06
ECHO ..................................................... ECHO .....................................................
ECHO Archiving text datasheet files to %2 on network... ECHO Archiving text datasheet files to %2 on network...
ECHO CtoNWtxt.bat > C:\ATE\CtoNWtxt.log ECHO CtoNWtxt.bat > C:\ATE\CtoNWtxt.log
ECHO 2013-02-06 Version >> C:\ATE\CtoNWtxt.log ECHO 2013-02-06 Version >> C:\ATE\CtoNWtxt.log
ECHO ..................................................... >> C:\ATE\CtoNWtxt.log ECHO ..................................................... >> C:\ATE\CtoNWtxt.log
ECHO Important! This log file is from the previous >> C:\ATE\CtoNWtxt.log ECHO Important! This log file is from the previous >> C:\ATE\CtoNWtxt.log
ECHO operation since C to Network >> C:\ATE\CtoNWtxt.log ECHO operation since C to Network >> C:\ATE\CtoNWtxt.log
ECHO archiving is before text file >> C:\ATE\CtoNWtxt.log ECHO archiving is before text file >> C:\ATE\CtoNWtxt.log
ECHO archiving! >> C:\ATE\CtoNWtxt.log ECHO archiving! >> C:\ATE\CtoNWtxt.log
ECHO ..................................................... >> C:\ATE\CtoNWtxt.log ECHO ..................................................... >> C:\ATE\CtoNWtxt.log
ECHO Copying from C:\STAGE\*.txt to %2 >> C:\ATE\CtoNWtxt.log ECHO Copying from C:\STAGE\*.txt to %2 >> C:\ATE\CtoNWtxt.log
IF EXIST C:\STAGE\*.txt GOTO FILEXFER IF EXIST C:\STAGE\*.txt GOTO FILEXFER
REM IF ERRORLEVEL=1 ECHO No files were found to transfer REM IF ERRORLEVEL=1 ECHO No files were found to transfer
ECHO No files were found to transfer ECHO No files were found to transfer
ECHO No files were found to transfer >> C:\ATE\CtoNWtxt.log ECHO No files were found to transfer >> C:\ATE\CtoNWtxt.log
GOTO END GOTO END
:FILEXFER :FILEXFER
IF NOT EXIST %2\serve.sys GOTO NODIR IF NOT EXIST %2\serve.sys GOTO NODIR
copy C:\STAGE\*.txt %2 >> C:\ATE\CtoNWtxt.log copy C:\STAGE\*.txt %2 >> C:\ATE\CtoNWtxt.log
IF ERRORLEVEL=0 ECHO Copy Completed normally IF ERRORLEVEL=0 ECHO Copy Completed normally
DEL C:\STAGE\*.txt >> C:\ATE\CtoNWtxt.log DEL C:\STAGE\*.txt >> C:\ATE\CtoNWtxt.log
ECHO Network archiving of text datasheet files to %2 done! ECHO Network archiving of text datasheet files to %2 done!
ECHO ..................................................... ECHO .....................................................
GOTO END GOTO END
:NODIR :NODIR
ECHO %2\serve.sys not found. >> C:\ATE\CtoNWtxt.log ECHO %2\serve.sys not found. >> C:\ATE\CtoNWtxt.log
ECHO %2\serve.sys not found. Check Network connection. ECHO %2\serve.sys not found. Check Network connection.
:END :END
ECHO Network archiving of text datasheet files to %2 done! ECHO Network archiving of text datasheet files to %2 done!
ECHO ..................................................... ECHO .....................................................

View File

@@ -26,7 +26,7 @@ REM Create directories (ignore errors with >NUL)
MD C:\BAT >NUL MD C:\BAT >NUL
MD T:\%MACHINE% >NUL MD T:\%MACHINE% >NUL
ECHO [1/2] Copying batch files to C:\BAT... ECHO (1/2) Copying batch files to C:\BAT...
COPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT >NUL COPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT >NUL
COPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT >NUL COPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT >NUL
COPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT >NUL COPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT >NUL
@@ -36,7 +36,7 @@ COPY T:\COMMON\ProdSW\REBOOT.BAT C:\BAT >NUL
ECHO Batch files installed ECHO Batch files installed
ECHO. ECHO.
ECHO [2/2] Installing AUTOEXEC.BAT... ECHO (2/2) Installing AUTOEXEC.BAT...
REM Create AUTOEXEC.BAT with machine name REM Create AUTOEXEC.BAT with machine name
ECHO @ECHO OFF > C:\AUTOEXEC.BAT ECHO @ECHO OFF > C:\AUTOEXEC.BAT
ECHO REM Dataforth Test Machine - DOS 6.22 >> C:\AUTOEXEC.BAT ECHO REM Dataforth Test Machine - DOS 6.22 >> C:\AUTOEXEC.BAT
@@ -56,7 +56,7 @@ ECHO IF EXIST C:\BAT\NWTOC.BAT CALL C:\BAT\NWTOC.BAT >> C:\AUTOEXEC.BAT
ECHO IF EXIST C:\BAT\CTONW.BAT CALL C:\BAT\CTONW.BAT >> C:\AUTOEXEC.BAT ECHO IF EXIST C:\BAT\CTONW.BAT CALL C:\BAT\CTONW.BAT >> C:\AUTOEXEC.BAT
ECHO GOTO READY >> C:\AUTOEXEC.BAT ECHO GOTO READY >> C:\AUTOEXEC.BAT
ECHO :NONET >> C:\AUTOEXEC.BAT ECHO :NONET >> C:\AUTOEXEC.BAT
ECHO ECHO [ERROR] Network not available >> C:\AUTOEXEC.BAT ECHO ECHO ERROR: Network not available >> C:\AUTOEXEC.BAT
ECHO :READY >> C:\AUTOEXEC.BAT ECHO :READY >> C:\AUTOEXEC.BAT
ECHO ECHO. >> C:\AUTOEXEC.BAT ECHO ECHO. >> C:\AUTOEXEC.BAT
ECHO ECHO System Ready >> C:\AUTOEXEC.BAT ECHO ECHO System Ready >> C:\AUTOEXEC.BAT
@@ -75,7 +75,7 @@ GOTO END
:NO_MACHINE :NO_MACHINE
ECHO. ECHO.
ECHO [ERROR] Machine name not provided ECHO ERROR: Machine name not provided
ECHO. ECHO.
ECHO Usage: DEPLOY.BAT machine-name ECHO Usage: DEPLOY.BAT machine-name
ECHO Example: DEPLOY.BAT TS-4R ECHO Example: DEPLOY.BAT TS-4R

View File

@@ -1,345 +1,345 @@
@ECHO OFF @ECHO OFF
REM DEPLOY.BAT - One-time deployment script for DOS Update System REM DEPLOY.BAT - One-time deployment script for DOS Update System
REM REM
REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines
REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT
REM REM
REM What this does: REM What this does:
REM 1. Backs up current AUTOEXEC.BAT REM 1. Backs up current AUTOEXEC.BAT
REM 2. Prompts for machine name (TS-4R, TS-7A, etc.) REM 2. Prompts for machine name (TS-4R, TS-7A, etc.)
REM 3. Updates AUTOEXEC.BAT with MACHINE variable REM 3. Updates AUTOEXEC.BAT with MACHINE variable
REM 4. Copies update batch files to C:\BAT\ REM 4. Copies update batch files to C:\BAT\
REM 5. Runs initial NWTOC to download all updates REM 5. Runs initial NWTOC to download all updates
REM REM
REM Version: 1.0 - DOS 6.22 compatible REM Version: 1.0 - DOS 6.22 compatible
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO DOS Update System - One-Time Deployment ECHO DOS Update System - One-Time Deployment
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO This script will install the new update system on this machine. ECHO This script will install the new update system on this machine.
ECHO. ECHO.
ECHO What will be installed: ECHO What will be installed:
ECHO - NWTOC.BAT (Download updates from network) ECHO - NWTOC.BAT (Download updates from network)
ECHO - CTONW.BAT (Upload changes to network) ECHO - CTONW.BAT (Upload changes to network)
ECHO - UPDATE.BAT (Full system backup) ECHO - UPDATE.BAT (Full system backup)
ECHO - STAGE.BAT (System file staging) ECHO - STAGE.BAT (System file staging)
ECHO - REBOOT.BAT (Apply updates on reboot) ECHO - REBOOT.BAT (Apply updates on reboot)
ECHO - CHECKUPD.BAT (Check for updates) ECHO - CHECKUPD.BAT (Check for updates)
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 1: Verify T: drive is accessible REM STEP 1: Verify T: drive is accessible
REM ================================================================== REM ==================================================================
ECHO [STEP 1/5] Checking network drive... ECHO Step 1 of 5: Checking network drive...
ECHO. ECHO.
T: 2>NUL T: 2>NUL
IF ERRORLEVEL 1 GOTO NO_T_DRIVE IF ERRORLEVEL 1 GOTO NO_T_DRIVE
C: C:
IF NOT EXIST T:\NUL GOTO NO_T_DRIVE IF NOT EXIST T:\NUL GOTO NO_T_DRIVE
ECHO [OK] T: drive is accessible ECHO (OK) T: drive is accessible
ECHO T: = \\D2TESTNAS\test ECHO T: = \\D2TESTNAS\test
ECHO. ECHO.
GOTO CHECK_DEPLOY_FILES GOTO CHECK_DEPLOY_FILES
:NO_T_DRIVE :NO_T_DRIVE
C: C:
ECHO. ECHO.
ECHO [ERROR] T: drive not available ECHO ERROR: T: drive not available
ECHO. ECHO.
ECHO The network drive T: must be mapped to \\D2TESTNAS\test ECHO The network drive T: must be mapped to \\D2TESTNAS\test
ECHO. ECHO.
ECHO Run network startup first: ECHO Run network startup first:
ECHO C:\NET\STARTNET.BAT ECHO C:\NET\STARTNET.BAT
ECHO. ECHO.
ECHO Or map manually: ECHO Or map manually:
ECHO NET USE T: \\D2TESTNAS\test /YES ECHO NET USE T: \\D2TESTNAS\test /YES
ECHO. ECHO.
ECHO Then run DEPLOY.BAT again. ECHO Then run DEPLOY.BAT again.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 2: Verify deployment files exist on network REM STEP 2: Verify deployment files exist on network
REM ================================================================== REM ==================================================================
:CHECK_DEPLOY_FILES :CHECK_DEPLOY_FILES
ECHO [STEP 2/5] Verifying deployment files... ECHO Step 2 of 5: Verifying deployment files...
ECHO. ECHO.
IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES
ECHO [OK] All deployment files found on network ECHO (OK) All deployment files found on network
ECHO Location: T:\COMMON\ProdSW\ ECHO Location: T:\COMMON\ProdSW\
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MISSING_FILES :MISSING_FILES
ECHO [ERROR] Deployment files not found on network ECHO ERROR: Deployment files not found on network
ECHO. ECHO.
ECHO Expected location: T:\COMMON\ProdSW\ ECHO Expected location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO Files needed: ECHO Files needed:
ECHO - NWTOC.BAT ECHO - NWTOC.BAT
ECHO - CTONW.BAT ECHO - CTONW.BAT
ECHO - UPDATE.BAT ECHO - UPDATE.BAT
ECHO - STAGE.BAT ECHO - STAGE.BAT
ECHO - CHECKUPD.BAT ECHO - CHECKUPD.BAT
ECHO. ECHO.
ECHO Contact system administrator. ECHO Contact system administrator.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 3: Get machine name from user REM STEP 3: Get machine name from user
REM ================================================================== REM ==================================================================
:GET_MACHINE_NAME :GET_MACHINE_NAME
ECHO [STEP 3/5] Configure machine name... ECHO Step 3 of 5: Configure machine name...
ECHO. ECHO.
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B): ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
ECHO. ECHO.
ECHO Machine name must match the folder on T: drive. ECHO Machine name must match the folder on T: drive.
ECHO Example: If this is TS-4R, there should be T:\TS-4R\ ECHO Example: If this is TS-4R, there should be T:\TS-4R\
ECHO. ECHO.
SET /P MACHINE=Machine name: SET /P MACHINE=Machine name:
REM Validate machine name was entered REM Validate machine name was entered
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [OK] Machine name: %MACHINE% ECHO (OK) Machine name: %MACHINE%
ECHO. ECHO.
REM Verify machine folder exists on network REM Verify machine folder exists on network
ECHO Checking for T:\%MACHINE%\ folder... ECHO Checking for T:\%MACHINE%\ folder...
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR
ECHO [OK] Machine folder ready: T:\%MACHINE%\ ECHO (OK) Machine folder ready: T:\%MACHINE%\
ECHO. ECHO.
GOTO BACKUP_AUTOEXEC GOTO BACKUP_AUTOEXEC
:MACHINE_NAME_EMPTY :MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [ERROR] Machine name cannot be empty ECHO ERROR: Machine name cannot be empty
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MACHINE_FOLDER_ERROR :MACHINE_FOLDER_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create machine folder on network ECHO ERROR: Could not create machine folder on network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is writable ECHO - T: drive is writable
ECHO - Network connection is stable ECHO - Network connection is stable
ECHO - Permissions to create directories ECHO - Permissions to create directories
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 4: Backup current AUTOEXEC.BAT and install batch files REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
REM ================================================================== REM ==================================================================
:BACKUP_AUTOEXEC :BACKUP_AUTOEXEC
ECHO [STEP 4/5] Installing update system files... ECHO Step 4 of 5: Installing update system files...
ECHO. ECHO.
REM Backup current AUTOEXEC.BAT REM Backup current AUTOEXEC.BAT
IF EXIST C:\AUTOEXEC.BAT ( IF EXIST C:\AUTOEXEC.BAT (
ECHO Backing up AUTOEXEC.BAT... ECHO Backing up AUTOEXEC.BAT...
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
IF ERRORLEVEL 1 GOTO BACKUP_ERROR IF ERRORLEVEL 1 GOTO BACKUP_ERROR
ECHO [OK] Backup created: C:\AUTOEXEC.SAV ECHO (OK) Backup created: C:\AUTOEXEC.SAV
) ELSE ( ) ELSE (
ECHO [WARNING] No existing AUTOEXEC.BAT found ECHO WARNING: No existing AUTOEXEC.BAT found
) )
ECHO. ECHO.
REM Create C:\BAT directory if it doesn't exist REM Create C:\BAT directory if it doesn't exist
IF NOT EXIST C:\BAT\NUL MD C:\BAT IF NOT EXIST C:\BAT\NUL MD C:\BAT
IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR
ECHO Copying update system files to C:\BAT\... ECHO Copying update system files to C:\BAT\...
REM Copy batch files from network to local machine REM Copy batch files from network to local machine
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] NWTOC.BAT ECHO (OK) NWTOC.BAT
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CTONW.BAT ECHO (OK) CTONW.BAT
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] UPDATE.BAT ECHO (OK) UPDATE.BAT
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] STAGE.BAT ECHO (OK) STAGE.BAT
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CHECKUPD.BAT ECHO (OK) CHECKUPD.BAT
ECHO. ECHO.
ECHO [OK] All update system files installed ECHO (OK) All update system files installed
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BACKUP_ERROR :BACKUP_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not backup AUTOEXEC.BAT ECHO ERROR: Could not backup AUTOEXEC.BAT
ECHO. ECHO.
ECHO Continue anyway? (Y/N) ECHO Continue anyway? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO END IF ERRORLEVEL 2 GOTO END
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BAT_DIR_ERROR :BAT_DIR_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create C:\BAT directory ECHO ERROR: Could not create C:\BAT directory
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
:COPY_ERROR :COPY_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to copy files from network ECHO ERROR: Failed to copy files from network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is accessible ECHO - T: drive is accessible
ECHO - C: drive has free space ECHO - C: drive has free space
ECHO - No file locks on C:\BAT\ ECHO - No file locks on C:\BAT\
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
REM ================================================================== REM ==================================================================
:UPDATE_AUTOEXEC :UPDATE_AUTOEXEC
ECHO [STEP 5/5] Updating AUTOEXEC.BAT... ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
ECHO. ECHO.
REM Check if MACHINE variable already exists in AUTOEXEC.BAT REM Check if MACHINE variable already exists in AUTOEXEC.BAT
IF EXIST C:\AUTOEXEC.BAT ( IF EXIST C:\AUTOEXEC.BAT (
FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL
IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS
) )
REM Append MACHINE variable to AUTOEXEC.BAT REM Append MACHINE variable to AUTOEXEC.BAT
ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT
IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR
ECHO [OK] Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE% ECHO (OK) Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE%
ECHO. ECHO.
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:MACHINE_EXISTS :MACHINE_EXISTS
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
ECHO. ECHO.
ECHO Current AUTOEXEC.BAT contains: ECHO Current AUTOEXEC.BAT contains:
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE=" TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
ECHO. ECHO.
ECHO Update MACHINE variable to %MACHINE%? (Y/N) ECHO Update MACHINE variable to %MACHINE%? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE
ECHO. ECHO.
ECHO Manual edit required: ECHO Manual edit required:
ECHO 1. Edit C:\AUTOEXEC.BAT ECHO 1. Edit C:\AUTOEXEC.BAT
ECHO 2. Find line: SET MACHINE=... ECHO 2. Find line: SET MACHINE=...
ECHO 3. Change to: SET MACHINE=%MACHINE% ECHO 3. Change to: SET MACHINE=%MACHINE%
ECHO 4. Save and reboot ECHO 4. Save and reboot
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:AUTOEXEC_ERROR :AUTOEXEC_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not update AUTOEXEC.BAT ECHO ERROR: Could not update AUTOEXEC.BAT
ECHO. ECHO.
ECHO You must manually add this line to C:\AUTOEXEC.BAT: ECHO You must manually add this line to C:\AUTOEXEC.BAT:
ECHO SET MACHINE=%MACHINE% ECHO SET MACHINE=%MACHINE%
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
REM ================================================================== REM ==================================================================
REM DEPLOYMENT COMPLETE REM DEPLOYMENT COMPLETE
REM ================================================================== REM ==================================================================
:DEPLOYMENT_COMPLETE :DEPLOYMENT_COMPLETE
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO Deployment Complete! ECHO Deployment Complete!
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO The DOS Update System has been installed on this machine. ECHO The DOS Update System has been installed on this machine.
ECHO. ECHO.
ECHO Machine name: %MACHINE% ECHO Machine name: %MACHINE%
ECHO Backup location: T:\%MACHINE%\BACKUP\ ECHO Backup location: T:\%MACHINE%\BACKUP\
ECHO Update location: T:\COMMON\ProdSW\ ECHO Update location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Available Commands: ECHO Available Commands:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO NWTOC - Download updates from network ECHO NWTOC - Download updates from network
ECHO CTONW - Upload local changes to network ECHO CTONW - Upload local changes to network
ECHO UPDATE - Backup entire C: drive to network ECHO UPDATE - Backup entire C: drive to network
ECHO CHECKUPD - Check for available updates ECHO CHECKUPD - Check for available updates
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Next Steps: ECHO Next Steps:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO 1. REBOOT this machine to activate MACHINE variable ECHO 1. REBOOT this machine to activate MACHINE variable
ECHO Press Ctrl+Alt+Del to reboot ECHO Press Ctrl+Alt+Del to reboot
ECHO. ECHO.
ECHO 2. After reboot, run NWTOC to download all updates: ECHO 2. After reboot, run NWTOC to download all updates:
ECHO C:\BAT\NWTOC ECHO C:\BAT\NWTOC
ECHO. ECHO.
ECHO 3. Create initial backup: ECHO 3. Create initial backup:
ECHO C:\BAT\UPDATE ECHO C:\BAT\UPDATE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG
ECHO. ECHO.
REM Create deployment log REM Create deployment log
ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG
ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG
ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG
ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
REM Clean up environment variables REM Clean up environment variables
SET MACHINE= SET MACHINE=

View File

@@ -1,351 +1,351 @@
@ECHO OFF @ECHO OFF
REM DEPLOY.BAT - One-time deployment script for DOS Update System REM DEPLOY.BAT - One-time deployment script for DOS Update System
REM REM
REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines
REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT
REM REM
REM What this does: REM What this does:
REM 1. Backs up current AUTOEXEC.BAT REM 1. Backs up current AUTOEXEC.BAT
REM 2. Prompts for machine name (TS-4R, TS-7A, etc.) REM 2. Prompts for machine name (TS-4R, TS-7A, etc.)
REM 3. Updates AUTOEXEC.BAT with MACHINE variable REM 3. Updates AUTOEXEC.BAT with MACHINE variable
REM 4. Copies update batch files to C:\BAT\ REM 4. Copies update batch files to C:\BAT\
REM 5. Runs initial NWTOC to download all updates REM 5. Runs initial NWTOC to download all updates
REM REM
REM Version: 1.0 - DOS 6.22 compatible REM Version: 1.0 - DOS 6.22 compatible
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO DOS Update System - One-Time Deployment ECHO DOS Update System - One-Time Deployment
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO This script will install the new update system on this machine. ECHO This script will install the new update system on this machine.
ECHO. ECHO.
ECHO What will be installed: ECHO What will be installed:
ECHO - NWTOC.BAT (Download updates from network) ECHO - NWTOC.BAT (Download updates from network)
ECHO - CTONW.BAT (Upload changes to network) ECHO - CTONW.BAT (Upload changes to network)
ECHO - UPDATE.BAT (Full system backup) ECHO - UPDATE.BAT (Full system backup)
ECHO - STAGE.BAT (System file staging) ECHO - STAGE.BAT (System file staging)
ECHO - REBOOT.BAT (Apply updates on reboot) ECHO - REBOOT.BAT (Apply updates on reboot)
ECHO - CHECKUPD.BAT (Check for updates) ECHO - CHECKUPD.BAT (Check for updates)
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 1: Verify T: drive is accessible REM STEP 1: Verify T: drive is accessible
REM ================================================================== REM ==================================================================
ECHO [STEP 1/5] Checking network drive... ECHO Step 1 of 5: Checking network drive...
ECHO. ECHO.
T: 2>NUL T: 2>NUL
IF ERRORLEVEL 1 GOTO NO_T_DRIVE IF ERRORLEVEL 1 GOTO NO_T_DRIVE
C: C:
IF NOT EXIST T:\NUL GOTO NO_T_DRIVE IF NOT EXIST T:\NUL GOTO NO_T_DRIVE
ECHO [OK] T: drive is accessible ECHO (OK) T: drive is accessible
ECHO T: = \\D2TESTNAS\test ECHO T: = \\D2TESTNAS\test
ECHO. ECHO.
GOTO CHECK_DEPLOY_FILES GOTO CHECK_DEPLOY_FILES
:NO_T_DRIVE :NO_T_DRIVE
C: C:
ECHO. ECHO.
ECHO [ERROR] T: drive not available ECHO ERROR: T: drive not available
ECHO. ECHO.
ECHO The network drive T: must be mapped to \\D2TESTNAS\test ECHO The network drive T: must be mapped to \\D2TESTNAS\test
ECHO. ECHO.
ECHO Run network startup first: ECHO Run network startup first:
ECHO C:\NET\STARTNET.BAT ECHO C:\NET\STARTNET.BAT
ECHO. ECHO.
ECHO Or map manually: ECHO Or map manually:
ECHO NET USE T: \\D2TESTNAS\test /YES ECHO NET USE T: \\D2TESTNAS\test /YES
ECHO. ECHO.
ECHO Then run DEPLOY.BAT again. ECHO Then run DEPLOY.BAT again.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 2: Verify deployment files exist on network REM STEP 2: Verify deployment files exist on network
REM ================================================================== REM ==================================================================
:CHECK_DEPLOY_FILES :CHECK_DEPLOY_FILES
ECHO [STEP 2/5] Verifying deployment files... ECHO Step 2 of 5: Verifying deployment files...
ECHO. ECHO.
IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES
ECHO [OK] All deployment files found on network ECHO (OK) All deployment files found on network
ECHO Location: T:\COMMON\ProdSW\ ECHO Location: T:\COMMON\ProdSW\
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MISSING_FILES :MISSING_FILES
ECHO [ERROR] Deployment files not found on network ECHO ERROR: Deployment files not found on network
ECHO. ECHO.
ECHO Expected location: T:\COMMON\ProdSW\ ECHO Expected location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO Files needed: ECHO Files needed:
ECHO - NWTOC.BAT ECHO - NWTOC.BAT
ECHO - CTONW.BAT ECHO - CTONW.BAT
ECHO - UPDATE.BAT ECHO - UPDATE.BAT
ECHO - STAGE.BAT ECHO - STAGE.BAT
ECHO - CHECKUPD.BAT ECHO - CHECKUPD.BAT
ECHO. ECHO.
ECHO Contact system administrator. ECHO Contact system administrator.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 3: Get machine name from user REM STEP 3: Get machine name from user
REM ================================================================== REM ==================================================================
:GET_MACHINE_NAME :GET_MACHINE_NAME
ECHO [STEP 3/5] Configure machine name... ECHO Step 3 of 5: Configure machine name...
ECHO. ECHO.
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B): ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
ECHO. ECHO.
ECHO Machine name must match the folder on T: drive. ECHO Machine name must match the folder on T: drive.
ECHO Example: If this is TS-4R, there should be T:\TS-4R\ ECHO Example: If this is TS-4R, there should be T:\TS-4R\
ECHO. ECHO.
SET /P MACHINE=Machine name: SET /P MACHINE=Machine name:
REM Validate machine name was entered REM Validate machine name was entered
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [OK] Machine name: %MACHINE% ECHO (OK) Machine name: %MACHINE%
ECHO. ECHO.
REM Verify machine folder exists on network REM Verify machine folder exists on network
ECHO Checking for T:\%MACHINE%\ folder... ECHO Checking for T:\%MACHINE%\ folder...
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR
ECHO [OK] Machine folder ready: T:\%MACHINE%\ ECHO (OK) Machine folder ready: T:\%MACHINE%\
ECHO. ECHO.
GOTO BACKUP_AUTOEXEC GOTO BACKUP_AUTOEXEC
:MACHINE_NAME_EMPTY :MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [ERROR] Machine name cannot be empty ECHO ERROR: Machine name cannot be empty
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MACHINE_FOLDER_ERROR :MACHINE_FOLDER_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create machine folder on network ECHO ERROR: Could not create machine folder on network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is writable ECHO - T: drive is writable
ECHO - Network connection is stable ECHO - Network connection is stable
ECHO - Permissions to create directories ECHO - Permissions to create directories
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 4: Backup current AUTOEXEC.BAT and install batch files REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
REM ================================================================== REM ==================================================================
:BACKUP_AUTOEXEC :BACKUP_AUTOEXEC
ECHO [STEP 4/5] Installing update system files... ECHO Step 4 of 5: Installing update system files...
ECHO. ECHO.
REM Backup current AUTOEXEC.BAT REM Backup current AUTOEXEC.BAT
IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC_BACKUP IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC_BACKUP
ECHO Backing up AUTOEXEC.BAT... ECHO Backing up AUTOEXEC.BAT...
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
IF ERRORLEVEL 1 GOTO BACKUP_ERROR IF ERRORLEVEL 1 GOTO BACKUP_ERROR
ECHO [OK] Backup created: C:\AUTOEXEC.SAV ECHO (OK) Backup created: C:\AUTOEXEC.SAV
GOTO AUTOEXEC_BACKUP_DONE GOTO AUTOEXEC_BACKUP_DONE
:NO_AUTOEXEC_BACKUP :NO_AUTOEXEC_BACKUP
ECHO [WARNING] No existing AUTOEXEC.BAT found ECHO WARNING: No existing AUTOEXEC.BAT found
:AUTOEXEC_BACKUP_DONE :AUTOEXEC_BACKUP_DONE
ECHO. ECHO.
REM Create C:\BAT directory if it doesn't exist REM Create C:\BAT directory if it doesn't exist
IF NOT EXIST C:\BAT\NUL MD C:\BAT IF NOT EXIST C:\BAT\NUL MD C:\BAT
IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR
ECHO Copying update system files to C:\BAT\... ECHO Copying update system files to C:\BAT\...
REM Copy batch files from network to local machine REM Copy batch files from network to local machine
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] NWTOC.BAT ECHO (OK) NWTOC.BAT
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CTONW.BAT ECHO (OK) CTONW.BAT
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] UPDATE.BAT ECHO (OK) UPDATE.BAT
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] STAGE.BAT ECHO (OK) STAGE.BAT
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CHECKUPD.BAT ECHO (OK) CHECKUPD.BAT
ECHO. ECHO.
ECHO [OK] All update system files installed ECHO (OK) All update system files installed
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BACKUP_ERROR :BACKUP_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not backup AUTOEXEC.BAT ECHO ERROR: Could not backup AUTOEXEC.BAT
ECHO. ECHO.
ECHO Continue anyway? (Y/N) ECHO Continue anyway? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO END IF ERRORLEVEL 2 GOTO END
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BAT_DIR_ERROR :BAT_DIR_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create C:\BAT directory ECHO ERROR: Could not create C:\BAT directory
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
:COPY_ERROR :COPY_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to copy files from network ECHO ERROR: Failed to copy files from network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is accessible ECHO - T: drive is accessible
ECHO - C: drive has free space ECHO - C: drive has free space
ECHO - No file locks on C:\BAT\ ECHO - No file locks on C:\BAT\
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
REM ================================================================== REM ==================================================================
:UPDATE_AUTOEXEC :UPDATE_AUTOEXEC
ECHO [STEP 5/5] Updating AUTOEXEC.BAT... ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
ECHO. ECHO.
REM Check if MACHINE variable already exists in AUTOEXEC.BAT REM Check if MACHINE variable already exists in AUTOEXEC.BAT
IF NOT EXIST C:\AUTOEXEC.BAT GOTO ADD_MACHINE_VAR IF NOT EXIST C:\AUTOEXEC.BAT GOTO ADD_MACHINE_VAR
FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL
IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS
:ADD_MACHINE_VAR :ADD_MACHINE_VAR
REM Append MACHINE variable to AUTOEXEC.BAT REM Append MACHINE variable to AUTOEXEC.BAT
ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT
IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR
ECHO [OK] Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE% ECHO (OK) Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE%
ECHO. ECHO.
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:MACHINE_EXISTS :MACHINE_EXISTS
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
ECHO. ECHO.
ECHO Current AUTOEXEC.BAT contains: ECHO Current AUTOEXEC.BAT contains:
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE=" TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
ECHO. ECHO.
ECHO Update MACHINE variable to %MACHINE%? (Y/N) ECHO Update MACHINE variable to %MACHINE%? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE
ECHO. ECHO.
ECHO Manual edit required: ECHO Manual edit required:
ECHO 1. Edit C:\AUTOEXEC.BAT ECHO 1. Edit C:\AUTOEXEC.BAT
ECHO 2. Find line: SET MACHINE=... ECHO 2. Find line: SET MACHINE=...
ECHO 3. Change to: SET MACHINE=%MACHINE% ECHO 3. Change to: SET MACHINE=%MACHINE%
ECHO 4. Save and reboot ECHO 4. Save and reboot
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:AUTOEXEC_ERROR :AUTOEXEC_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not update AUTOEXEC.BAT ECHO ERROR: Could not update AUTOEXEC.BAT
ECHO. ECHO.
ECHO You must manually add this line to C:\AUTOEXEC.BAT: ECHO You must manually add this line to C:\AUTOEXEC.BAT:
ECHO SET MACHINE=%MACHINE% ECHO SET MACHINE=%MACHINE%
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
REM ================================================================== REM ==================================================================
REM DEPLOYMENT COMPLETE REM DEPLOYMENT COMPLETE
REM ================================================================== REM ==================================================================
:DEPLOYMENT_COMPLETE :DEPLOYMENT_COMPLETE
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO Deployment Complete! ECHO Deployment Complete!
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO The DOS Update System has been installed on this machine. ECHO The DOS Update System has been installed on this machine.
ECHO. ECHO.
ECHO Machine name: %MACHINE% ECHO Machine name: %MACHINE%
ECHO Backup location: T:\%MACHINE%\BACKUP\ ECHO Backup location: T:\%MACHINE%\BACKUP\
ECHO Update location: T:\COMMON\ProdSW\ ECHO Update location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Available Commands: ECHO Available Commands:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO NWTOC - Download updates from network ECHO NWTOC - Download updates from network
ECHO CTONW - Upload local changes to network ECHO CTONW - Upload local changes to network
ECHO UPDATE - Backup entire C: drive to network ECHO UPDATE - Backup entire C: drive to network
ECHO CHECKUPD - Check for available updates ECHO CHECKUPD - Check for available updates
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Next Steps: ECHO Next Steps:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO 1. REBOOT this machine to activate MACHINE variable ECHO 1. REBOOT this machine to activate MACHINE variable
ECHO Press Ctrl+Alt+Del to reboot ECHO Press Ctrl+Alt+Del to reboot
ECHO. ECHO.
ECHO 2. After reboot, run NWTOC to download all updates: ECHO 2. After reboot, run NWTOC to download all updates:
ECHO C:\BAT\NWTOC ECHO C:\BAT\NWTOC
ECHO. ECHO.
ECHO 3. Create initial backup: ECHO 3. Create initial backup:
ECHO C:\BAT\UPDATE ECHO C:\BAT\UPDATE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG
ECHO. ECHO.
REM Create deployment log REM Create deployment log
ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG
ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG
ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG
ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
REM Clean up environment variables REM Clean up environment variables
SET MACHINE= SET MACHINE=

View File

@@ -1,351 +1,351 @@
@ECHO OFF @ECHO OFF
REM DEPLOY.BAT - One-time deployment script for DOS Update System REM DEPLOY.BAT - One-time deployment script for DOS Update System
REM REM
REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines
REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT
REM REM
REM What this does: REM What this does:
REM 1. Backs up current AUTOEXEC.BAT REM 1. Backs up current AUTOEXEC.BAT
REM 2. Prompts for machine name (TS-4R, TS-7A, etc.) REM 2. Prompts for machine name (TS-4R, TS-7A, etc.)
REM 3. Updates AUTOEXEC.BAT with MACHINE variable REM 3. Updates AUTOEXEC.BAT with MACHINE variable
REM 4. Copies update batch files to C:\BAT\ REM 4. Copies update batch files to C:\BAT\
REM 5. Runs initial NWTOC to download all updates REM 5. Runs initial NWTOC to download all updates
REM REM
REM Version: 1.0 - DOS 6.22 compatible REM Version: 1.0 - DOS 6.22 compatible
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO DOS Update System - One-Time Deployment ECHO DOS Update System - One-Time Deployment
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO This script will install the new update system on this machine. ECHO This script will install the new update system on this machine.
ECHO. ECHO.
ECHO What will be installed: ECHO What will be installed:
ECHO - NWTOC.BAT (Download updates from network) ECHO - NWTOC.BAT (Download updates from network)
ECHO - CTONW.BAT (Upload changes to network) ECHO - CTONW.BAT (Upload changes to network)
ECHO - UPDATE.BAT (Full system backup) ECHO - UPDATE.BAT (Full system backup)
ECHO - STAGE.BAT (System file staging) ECHO - STAGE.BAT (System file staging)
ECHO - REBOOT.BAT (Apply updates on reboot) ECHO - REBOOT.BAT (Apply updates on reboot)
ECHO - CHECKUPD.BAT (Check for updates) ECHO - CHECKUPD.BAT (Check for updates)
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 1: Verify T: drive is accessible REM STEP 1: Verify T: drive is accessible
REM ================================================================== REM ==================================================================
ECHO [STEP 1/5] Checking network drive... ECHO Step 1 of 5: Checking network drive...
ECHO. ECHO.
T: 2>NUL T: 2>NUL
IF ERRORLEVEL 1 GOTO NO_T_DRIVE IF ERRORLEVEL 1 GOTO NO_T_DRIVE
C: C:
IF NOT EXIST T:\NUL GOTO NO_T_DRIVE IF NOT EXIST T:\NUL GOTO NO_T_DRIVE
ECHO [OK] T: drive is accessible ECHO (OK) T: drive is accessible
ECHO T: = \\D2TESTNAS\test ECHO T: = \\D2TESTNAS\test
ECHO. ECHO.
GOTO CHECK_DEPLOY_FILES GOTO CHECK_DEPLOY_FILES
:NO_T_DRIVE :NO_T_DRIVE
C: C:
ECHO. ECHO.
ECHO [ERROR] T: drive not available ECHO ERROR: T: drive not available
ECHO. ECHO.
ECHO The network drive T: must be mapped to \\D2TESTNAS\test ECHO The network drive T: must be mapped to \\D2TESTNAS\test
ECHO. ECHO.
ECHO Run network startup first: ECHO Run network startup first:
ECHO C:\NET\STARTNET.BAT ECHO C:\NET\STARTNET.BAT
ECHO. ECHO.
ECHO Or map manually: ECHO Or map manually:
ECHO NET USE T: \\D2TESTNAS\test /YES ECHO NET USE T: \\D2TESTNAS\test /YES
ECHO. ECHO.
ECHO Then run DEPLOY.BAT again. ECHO Then run DEPLOY.BAT again.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 2: Verify deployment files exist on network REM STEP 2: Verify deployment files exist on network
REM ================================================================== REM ==================================================================
:CHECK_DEPLOY_FILES :CHECK_DEPLOY_FILES
ECHO [STEP 2/5] Verifying deployment files... ECHO Step 2 of 5: Verifying deployment files...
ECHO. ECHO.
IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES
ECHO [OK] All deployment files found on network ECHO (OK) All deployment files found on network
ECHO Location: T:\COMMON\ProdSW\ ECHO Location: T:\COMMON\ProdSW\
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MISSING_FILES :MISSING_FILES
ECHO [ERROR] Deployment files not found on network ECHO ERROR: Deployment files not found on network
ECHO. ECHO.
ECHO Expected location: T:\COMMON\ProdSW\ ECHO Expected location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO Files needed: ECHO Files needed:
ECHO - NWTOC.BAT ECHO - NWTOC.BAT
ECHO - CTONW.BAT ECHO - CTONW.BAT
ECHO - UPDATE.BAT ECHO - UPDATE.BAT
ECHO - STAGE.BAT ECHO - STAGE.BAT
ECHO - CHECKUPD.BAT ECHO - CHECKUPD.BAT
ECHO. ECHO.
ECHO Contact system administrator. ECHO Contact system administrator.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 3: Get machine name from user REM STEP 3: Get machine name from user
REM ================================================================== REM ==================================================================
:GET_MACHINE_NAME :GET_MACHINE_NAME
ECHO [STEP 3/5] Configure machine name... ECHO Step 3 of 5: Configure machine name...
ECHO. ECHO.
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B): ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
ECHO. ECHO.
ECHO Machine name must match the folder on T: drive. ECHO Machine name must match the folder on T: drive.
ECHO Example: If this is TS-4R, there should be T:\TS-4R\ ECHO Example: If this is TS-4R, there should be T:\TS-4R\
ECHO. ECHO.
SET /P MACHINE=Machine name: SET /P MACHINE=Machine name:
REM Validate machine name was entered REM Validate machine name was entered
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [OK] Machine name: %MACHINE% ECHO (OK) Machine name: %MACHINE%
ECHO. ECHO.
REM Verify machine folder exists on network REM Verify machine folder exists on network
ECHO Checking for T:\%MACHINE%\ folder... ECHO Checking for T:\%MACHINE%\ folder...
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR
ECHO [OK] Machine folder ready: T:\%MACHINE%\ ECHO (OK) Machine folder ready: T:\%MACHINE%\
ECHO. ECHO.
GOTO BACKUP_AUTOEXEC GOTO BACKUP_AUTOEXEC
:MACHINE_NAME_EMPTY :MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [ERROR] Machine name cannot be empty ECHO ERROR: Machine name cannot be empty
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MACHINE_FOLDER_ERROR :MACHINE_FOLDER_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create machine folder on network ECHO ERROR: Could not create machine folder on network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is writable ECHO - T: drive is writable
ECHO - Network connection is stable ECHO - Network connection is stable
ECHO - Permissions to create directories ECHO - Permissions to create directories
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 4: Backup current AUTOEXEC.BAT and install batch files REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
REM ================================================================== REM ==================================================================
:BACKUP_AUTOEXEC :BACKUP_AUTOEXEC
ECHO [STEP 4/5] Installing update system files... ECHO Step 4 of 5: Installing update system files...
ECHO. ECHO.
REM Backup current AUTOEXEC.BAT REM Backup current AUTOEXEC.BAT
IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC_BACKUP IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC_BACKUP
ECHO Backing up AUTOEXEC.BAT... ECHO Backing up AUTOEXEC.BAT...
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
IF ERRORLEVEL 1 GOTO BACKUP_ERROR IF ERRORLEVEL 1 GOTO BACKUP_ERROR
ECHO [OK] Backup created: C:\AUTOEXEC.SAV ECHO (OK) Backup created: C:\AUTOEXEC.SAV
GOTO AUTOEXEC_BACKUP_DONE GOTO AUTOEXEC_BACKUP_DONE
:NO_AUTOEXEC_BACKUP :NO_AUTOEXEC_BACKUP
ECHO [WARNING] No existing AUTOEXEC.BAT found ECHO WARNING: No existing AUTOEXEC.BAT found
:AUTOEXEC_BACKUP_DONE :AUTOEXEC_BACKUP_DONE
ECHO. ECHO.
REM Create C:\BAT directory if it doesn't exist REM Create C:\BAT directory if it doesn't exist
IF NOT EXIST C:\BAT\NUL MD C:\BAT IF NOT EXIST C:\BAT\NUL MD C:\BAT
IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR
ECHO Copying update system files to C:\BAT\... ECHO Copying update system files to C:\BAT\...
REM Copy batch files from network to local machine REM Copy batch files from network to local machine
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] NWTOC.BAT ECHO (OK) NWTOC.BAT
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CTONW.BAT ECHO (OK) CTONW.BAT
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] UPDATE.BAT ECHO (OK) UPDATE.BAT
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] STAGE.BAT ECHO (OK) STAGE.BAT
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CHECKUPD.BAT ECHO (OK) CHECKUPD.BAT
ECHO. ECHO.
ECHO [OK] All update system files installed ECHO (OK) All update system files installed
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BACKUP_ERROR :BACKUP_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not backup AUTOEXEC.BAT ECHO ERROR: Could not backup AUTOEXEC.BAT
ECHO. ECHO.
ECHO Continue anyway? (Y/N) ECHO Continue anyway? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO END IF ERRORLEVEL 2 GOTO END
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BAT_DIR_ERROR :BAT_DIR_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create C:\BAT directory ECHO ERROR: Could not create C:\BAT directory
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
:COPY_ERROR :COPY_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to copy files from network ECHO ERROR: Failed to copy files from network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is accessible ECHO - T: drive is accessible
ECHO - C: drive has free space ECHO - C: drive has free space
ECHO - No file locks on C:\BAT\ ECHO - No file locks on C:\BAT\
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
REM ================================================================== REM ==================================================================
:UPDATE_AUTOEXEC :UPDATE_AUTOEXEC
ECHO [STEP 5/5] Updating AUTOEXEC.BAT... ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
ECHO. ECHO.
REM Check if MACHINE variable already exists in AUTOEXEC.BAT REM Check if MACHINE variable already exists in AUTOEXEC.BAT
IF NOT EXIST C:\AUTOEXEC.BAT GOTO ADD_MACHINE_VAR IF NOT EXIST C:\AUTOEXEC.BAT GOTO ADD_MACHINE_VAR
FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL
IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS
:ADD_MACHINE_VAR :ADD_MACHINE_VAR
REM Append MACHINE variable to AUTOEXEC.BAT REM Append MACHINE variable to AUTOEXEC.BAT
ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT
IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR
ECHO [OK] Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE% ECHO (OK) Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE%
ECHO. ECHO.
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:MACHINE_EXISTS :MACHINE_EXISTS
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
ECHO. ECHO.
ECHO Current AUTOEXEC.BAT contains: ECHO Current AUTOEXEC.BAT contains:
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE=" TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
ECHO. ECHO.
ECHO Update MACHINE variable to %MACHINE%? (Y/N) ECHO Update MACHINE variable to %MACHINE%? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE
ECHO. ECHO.
ECHO Manual edit required: ECHO Manual edit required:
ECHO 1. Edit C:\AUTOEXEC.BAT ECHO 1. Edit C:\AUTOEXEC.BAT
ECHO 2. Find line: SET MACHINE=... ECHO 2. Find line: SET MACHINE=...
ECHO 3. Change to: SET MACHINE=%MACHINE% ECHO 3. Change to: SET MACHINE=%MACHINE%
ECHO 4. Save and reboot ECHO 4. Save and reboot
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:AUTOEXEC_ERROR :AUTOEXEC_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not update AUTOEXEC.BAT ECHO ERROR: Could not update AUTOEXEC.BAT
ECHO. ECHO.
ECHO You must manually add this line to C:\AUTOEXEC.BAT: ECHO You must manually add this line to C:\AUTOEXEC.BAT:
ECHO SET MACHINE=%MACHINE% ECHO SET MACHINE=%MACHINE%
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
REM ================================================================== REM ==================================================================
REM DEPLOYMENT COMPLETE REM DEPLOYMENT COMPLETE
REM ================================================================== REM ==================================================================
:DEPLOYMENT_COMPLETE :DEPLOYMENT_COMPLETE
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO Deployment Complete! ECHO Deployment Complete!
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO The DOS Update System has been installed on this machine. ECHO The DOS Update System has been installed on this machine.
ECHO. ECHO.
ECHO Machine name: %MACHINE% ECHO Machine name: %MACHINE%
ECHO Backup location: T:\%MACHINE%\BACKUP\ ECHO Backup location: T:\%MACHINE%\BACKUP\
ECHO Update location: T:\COMMON\ProdSW\ ECHO Update location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Available Commands: ECHO Available Commands:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO NWTOC - Download updates from network ECHO NWTOC - Download updates from network
ECHO CTONW - Upload local changes to network ECHO CTONW - Upload local changes to network
ECHO UPDATE - Backup entire C: drive to network ECHO UPDATE - Backup entire C: drive to network
ECHO CHECKUPD - Check for available updates ECHO CHECKUPD - Check for available updates
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Next Steps: ECHO Next Steps:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO 1. REBOOT this machine to activate MACHINE variable ECHO 1. REBOOT this machine to activate MACHINE variable
ECHO Press Ctrl+Alt+Del to reboot ECHO Press Ctrl+Alt+Del to reboot
ECHO. ECHO.
ECHO 2. After reboot, run NWTOC to download all updates: ECHO 2. After reboot, run NWTOC to download all updates:
ECHO C:\BAT\NWTOC ECHO C:\BAT\NWTOC
ECHO. ECHO.
ECHO 3. Create initial backup: ECHO 3. Create initial backup:
ECHO C:\BAT\UPDATE ECHO C:\BAT\UPDATE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG
ECHO. ECHO.
REM Create deployment log REM Create deployment log
ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG
ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG
ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG
ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
REM Clean up environment variables REM Clean up environment variables
SET MACHINE= SET MACHINE=

View File

@@ -1,345 +1,345 @@
@ECHO OFF @ECHO OFF
REM DEPLOY.BAT - One-time deployment script for DOS Update System REM DEPLOY.BAT - One-time deployment script for DOS Update System
REM REM
REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines REM Purpose: Installs the new NWTOC update system on DOS 6.22 machines
REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT REM Location: Run from T:\COMMON\ProdSW\DEPLOY.BAT
REM REM
REM What this does: REM What this does:
REM 1. Backs up current AUTOEXEC.BAT REM 1. Backs up current AUTOEXEC.BAT
REM 2. Prompts for machine name (TS-4R, TS-7A, etc.) REM 2. Prompts for machine name (TS-4R, TS-7A, etc.)
REM 3. Updates AUTOEXEC.BAT with MACHINE variable REM 3. Updates AUTOEXEC.BAT with MACHINE variable
REM 4. Copies update batch files to C:\BAT\ REM 4. Copies update batch files to C:\BAT\
REM 5. Runs initial NWTOC to download all updates REM 5. Runs initial NWTOC to download all updates
REM REM
REM Version: 1.0 - DOS 6.22 compatible REM Version: 1.0 - DOS 6.22 compatible
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO DOS Update System - One-Time Deployment ECHO DOS Update System - One-Time Deployment
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO This script will install the new update system on this machine. ECHO This script will install the new update system on this machine.
ECHO. ECHO.
ECHO What will be installed: ECHO What will be installed:
ECHO - NWTOC.BAT (Download updates from network) ECHO - NWTOC.BAT (Download updates from network)
ECHO - CTONW.BAT (Upload changes to network) ECHO - CTONW.BAT (Upload changes to network)
ECHO - UPDATE.BAT (Full system backup) ECHO - UPDATE.BAT (Full system backup)
ECHO - STAGE.BAT (System file staging) ECHO - STAGE.BAT (System file staging)
ECHO - REBOOT.BAT (Apply updates on reboot) ECHO - REBOOT.BAT (Apply updates on reboot)
ECHO - CHECKUPD.BAT (Check for updates) ECHO - CHECKUPD.BAT (Check for updates)
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 1: Verify T: drive is accessible REM STEP 1: Verify T: drive is accessible
REM ================================================================== REM ==================================================================
ECHO [STEP 1/5] Checking network drive... ECHO Step 1 of 5: Checking network drive...
ECHO. ECHO.
T: 2>NUL T: 2>NUL
IF ERRORLEVEL 1 GOTO NO_T_DRIVE IF ERRORLEVEL 1 GOTO NO_T_DRIVE
C: C:
IF NOT EXIST T:\NUL GOTO NO_T_DRIVE IF NOT EXIST T:\NUL GOTO NO_T_DRIVE
ECHO [OK] T: drive is accessible ECHO (OK) T: drive is accessible
ECHO T: = \\D2TESTNAS\test ECHO T: = \\D2TESTNAS\test
ECHO. ECHO.
GOTO CHECK_DEPLOY_FILES GOTO CHECK_DEPLOY_FILES
:NO_T_DRIVE :NO_T_DRIVE
C: C:
ECHO. ECHO.
ECHO [ERROR] T: drive not available ECHO ERROR: T: drive not available
ECHO. ECHO.
ECHO The network drive T: must be mapped to \\D2TESTNAS\test ECHO The network drive T: must be mapped to \\D2TESTNAS\test
ECHO. ECHO.
ECHO Run network startup first: ECHO Run network startup first:
ECHO C:\NET\STARTNET.BAT ECHO C:\NET\STARTNET.BAT
ECHO. ECHO.
ECHO Or map manually: ECHO Or map manually:
ECHO NET USE T: \\D2TESTNAS\test /YES ECHO NET USE T: \\D2TESTNAS\test /YES
ECHO. ECHO.
ECHO Then run DEPLOY.BAT again. ECHO Then run DEPLOY.BAT again.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 2: Verify deployment files exist on network REM STEP 2: Verify deployment files exist on network
REM ================================================================== REM ==================================================================
:CHECK_DEPLOY_FILES :CHECK_DEPLOY_FILES
ECHO [STEP 2/5] Verifying deployment files... ECHO Step 2 of 5: Verifying deployment files...
ECHO. ECHO.
IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\NWTOC.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CTONW.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\UPDATE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\STAGE.BAT GOTO MISSING_FILES
IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES IF NOT EXIST T:\COMMON\ProdSW\CHECKUPD.BAT GOTO MISSING_FILES
ECHO [OK] All deployment files found on network ECHO (OK) All deployment files found on network
ECHO Location: T:\COMMON\ProdSW\ ECHO Location: T:\COMMON\ProdSW\
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MISSING_FILES :MISSING_FILES
ECHO [ERROR] Deployment files not found on network ECHO ERROR: Deployment files not found on network
ECHO. ECHO.
ECHO Expected location: T:\COMMON\ProdSW\ ECHO Expected location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO Files needed: ECHO Files needed:
ECHO - NWTOC.BAT ECHO - NWTOC.BAT
ECHO - CTONW.BAT ECHO - CTONW.BAT
ECHO - UPDATE.BAT ECHO - UPDATE.BAT
ECHO - STAGE.BAT ECHO - STAGE.BAT
ECHO - CHECKUPD.BAT ECHO - CHECKUPD.BAT
ECHO. ECHO.
ECHO Contact system administrator. ECHO Contact system administrator.
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 3: Get machine name from user REM STEP 3: Get machine name from user
REM ================================================================== REM ==================================================================
:GET_MACHINE_NAME :GET_MACHINE_NAME
ECHO [STEP 3/5] Configure machine name... ECHO Step 3 of 5: Configure machine name...
ECHO. ECHO.
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B): ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
ECHO. ECHO.
ECHO Machine name must match the folder on T: drive. ECHO Machine name must match the folder on T: drive.
ECHO Example: If this is TS-4R, there should be T:\TS-4R\ ECHO Example: If this is TS-4R, there should be T:\TS-4R\
ECHO. ECHO.
SET /P MACHINE=Machine name: SET /P MACHINE=Machine name:
REM Validate machine name was entered REM Validate machine name was entered
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [OK] Machine name: %MACHINE% ECHO (OK) Machine name: %MACHINE%
ECHO. ECHO.
REM Verify machine folder exists on network REM Verify machine folder exists on network
ECHO Checking for T:\%MACHINE%\ folder... ECHO Checking for T:\%MACHINE%\ folder...
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR IF NOT EXIST T:\%MACHINE%\NUL GOTO MACHINE_FOLDER_ERROR
ECHO [OK] Machine folder ready: T:\%MACHINE%\ ECHO (OK) Machine folder ready: T:\%MACHINE%\
ECHO. ECHO.
GOTO BACKUP_AUTOEXEC GOTO BACKUP_AUTOEXEC
:MACHINE_NAME_EMPTY :MACHINE_NAME_EMPTY
ECHO. ECHO.
ECHO [ERROR] Machine name cannot be empty ECHO ERROR: Machine name cannot be empty
ECHO. ECHO.
GOTO GET_MACHINE_NAME GOTO GET_MACHINE_NAME
:MACHINE_FOLDER_ERROR :MACHINE_FOLDER_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create machine folder on network ECHO ERROR: Could not create machine folder on network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is writable ECHO - T: drive is writable
ECHO - Network connection is stable ECHO - Network connection is stable
ECHO - Permissions to create directories ECHO - Permissions to create directories
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 4: Backup current AUTOEXEC.BAT and install batch files REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
REM ================================================================== REM ==================================================================
:BACKUP_AUTOEXEC :BACKUP_AUTOEXEC
ECHO [STEP 4/5] Installing update system files... ECHO Step 4 of 5: Installing update system files...
ECHO. ECHO.
REM Backup current AUTOEXEC.BAT REM Backup current AUTOEXEC.BAT
IF EXIST C:\AUTOEXEC.BAT ( IF EXIST C:\AUTOEXEC.BAT (
ECHO Backing up AUTOEXEC.BAT... ECHO Backing up AUTOEXEC.BAT...
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
IF ERRORLEVEL 1 GOTO BACKUP_ERROR IF ERRORLEVEL 1 GOTO BACKUP_ERROR
ECHO [OK] Backup created: C:\AUTOEXEC.SAV ECHO (OK) Backup created: C:\AUTOEXEC.SAV
) ELSE ( ) ELSE (
ECHO [WARNING] No existing AUTOEXEC.BAT found ECHO WARNING: No existing AUTOEXEC.BAT found
) )
ECHO. ECHO.
REM Create C:\BAT directory if it doesn't exist REM Create C:\BAT directory if it doesn't exist
IF NOT EXIST C:\BAT\NUL MD C:\BAT IF NOT EXIST C:\BAT\NUL MD C:\BAT
IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR
ECHO Copying update system files to C:\BAT\... ECHO Copying update system files to C:\BAT\...
REM Copy batch files from network to local machine REM Copy batch files from network to local machine
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] NWTOC.BAT ECHO (OK) NWTOC.BAT
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CTONW.BAT ECHO (OK) CTONW.BAT
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] UPDATE.BAT ECHO (OK) UPDATE.BAT
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] STAGE.BAT ECHO (OK) STAGE.BAT
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
IF ERRORLEVEL 4 GOTO COPY_ERROR IF ERRORLEVEL 4 GOTO COPY_ERROR
ECHO [OK] CHECKUPD.BAT ECHO (OK) CHECKUPD.BAT
ECHO. ECHO.
ECHO [OK] All update system files installed ECHO (OK) All update system files installed
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BACKUP_ERROR :BACKUP_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not backup AUTOEXEC.BAT ECHO ERROR: Could not backup AUTOEXEC.BAT
ECHO. ECHO.
ECHO Continue anyway? (Y/N) ECHO Continue anyway? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO END IF ERRORLEVEL 2 GOTO END
ECHO. ECHO.
GOTO UPDATE_AUTOEXEC GOTO UPDATE_AUTOEXEC
:BAT_DIR_ERROR :BAT_DIR_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create C:\BAT directory ECHO ERROR: Could not create C:\BAT directory
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
:COPY_ERROR :COPY_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to copy files from network ECHO ERROR: Failed to copy files from network
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is accessible ECHO - T: drive is accessible
ECHO - C: drive has free space ECHO - C: drive has free space
ECHO - No file locks on C:\BAT\ ECHO - No file locks on C:\BAT\
ECHO. ECHO.
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
REM ================================================================== REM ==================================================================
:UPDATE_AUTOEXEC :UPDATE_AUTOEXEC
ECHO [STEP 5/5] Updating AUTOEXEC.BAT... ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
ECHO. ECHO.
REM Check if MACHINE variable already exists in AUTOEXEC.BAT REM Check if MACHINE variable already exists in AUTOEXEC.BAT
IF EXIST C:\AUTOEXEC.BAT ( IF EXIST C:\AUTOEXEC.BAT (
FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL FIND "SET MACHINE=" C:\AUTOEXEC.BAT >NUL
IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS IF NOT ERRORLEVEL 1 GOTO MACHINE_EXISTS
) )
REM Append MACHINE variable to AUTOEXEC.BAT REM Append MACHINE variable to AUTOEXEC.BAT
ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT
IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR
ECHO [OK] Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE% ECHO (OK) Added to AUTOEXEC.BAT: SET MACHINE=%MACHINE%
ECHO. ECHO.
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:MACHINE_EXISTS :MACHINE_EXISTS
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
ECHO. ECHO.
ECHO Current AUTOEXEC.BAT contains: ECHO Current AUTOEXEC.BAT contains:
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE=" TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
ECHO. ECHO.
ECHO Update MACHINE variable to %MACHINE%? (Y/N) ECHO Update MACHINE variable to %MACHINE%? (Y/N)
CHOICE /C:YN /N CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE IF ERRORLEVEL 2 GOTO DEPLOYMENT_COMPLETE
ECHO. ECHO.
ECHO Manual edit required: ECHO Manual edit required:
ECHO 1. Edit C:\AUTOEXEC.BAT ECHO 1. Edit C:\AUTOEXEC.BAT
ECHO 2. Find line: SET MACHINE=... ECHO 2. Find line: SET MACHINE=...
ECHO 3. Change to: SET MACHINE=%MACHINE% ECHO 3. Change to: SET MACHINE=%MACHINE%
ECHO 4. Save and reboot ECHO 4. Save and reboot
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
:AUTOEXEC_ERROR :AUTOEXEC_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not update AUTOEXEC.BAT ECHO ERROR: Could not update AUTOEXEC.BAT
ECHO. ECHO.
ECHO You must manually add this line to C:\AUTOEXEC.BAT: ECHO You must manually add this line to C:\AUTOEXEC.BAT:
ECHO SET MACHINE=%MACHINE% ECHO SET MACHINE=%MACHINE%
ECHO. ECHO.
PAUSE Press any key to continue... PAUSE Press any key to continue...
GOTO DEPLOYMENT_COMPLETE GOTO DEPLOYMENT_COMPLETE
REM ================================================================== REM ==================================================================
REM DEPLOYMENT COMPLETE REM DEPLOYMENT COMPLETE
REM ================================================================== REM ==================================================================
:DEPLOYMENT_COMPLETE :DEPLOYMENT_COMPLETE
CLS CLS
ECHO ============================================================== ECHO ==============================================================
ECHO Deployment Complete! ECHO Deployment Complete!
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO The DOS Update System has been installed on this machine. ECHO The DOS Update System has been installed on this machine.
ECHO. ECHO.
ECHO Machine name: %MACHINE% ECHO Machine name: %MACHINE%
ECHO Backup location: T:\%MACHINE%\BACKUP\ ECHO Backup location: T:\%MACHINE%\BACKUP\
ECHO Update location: T:\COMMON\ProdSW\ ECHO Update location: T:\COMMON\ProdSW\
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Available Commands: ECHO Available Commands:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO NWTOC - Download updates from network ECHO NWTOC - Download updates from network
ECHO CTONW - Upload local changes to network ECHO CTONW - Upload local changes to network
ECHO UPDATE - Backup entire C: drive to network ECHO UPDATE - Backup entire C: drive to network
ECHO CHECKUPD - Check for available updates ECHO CHECKUPD - Check for available updates
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Next Steps: ECHO Next Steps:
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO 1. REBOOT this machine to activate MACHINE variable ECHO 1. REBOOT this machine to activate MACHINE variable
ECHO Press Ctrl+Alt+Del to reboot ECHO Press Ctrl+Alt+Del to reboot
ECHO. ECHO.
ECHO 2. After reboot, run NWTOC to download all updates: ECHO 2. After reboot, run NWTOC to download all updates:
ECHO C:\BAT\NWTOC ECHO C:\BAT\NWTOC
ECHO. ECHO.
ECHO 3. Create initial backup: ECHO 3. Create initial backup:
ECHO C:\BAT\UPDATE ECHO C:\BAT\UPDATE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG ECHO Deployment log saved to: T:\%MACHINE%\DEPLOY.LOG
ECHO. ECHO.
REM Create deployment log REM Create deployment log
ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG ECHO Deployment completed: %DATE% %TIME% > T:\%MACHINE%\DEPLOY.LOG
ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG
ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG
ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG
PAUSE Press any key to exit... PAUSE Press any key to exit...
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
REM Clean up environment variables REM Clean up environment variables
SET MACHINE= SET MACHINE=

View File

@@ -0,0 +1,29 @@
@ECHO OFF
REM DIAGBK.BAT - Diagnostic Backup
REM Version: 1.1 - Simplified for DOS 6.22
ECHO.
ECHO Diagnostic Backup
ECHO.
MD T:\%MACHINE%\DIAG
MD T:\%MACHINE%\DIAG\BAT
ECHO Copying AUTOEXEC.BAT
COPY C:\AUTOEXEC.BAT T:\%MACHINE%\DIAG
ECHO Copying CONFIG.SYS
COPY C:\CONFIG.SYS T:\%MACHINE%\DIAG
ECHO Copying STARTNET.BAT
COPY C:\STARTNET.BAT T:\%MACHINE%\DIAG
ECHO Copying C:\BAT files
COPY C:\BAT\*.* T:\%MACHINE%\DIAG\BAT
ECHO Copying C:\BATCH files
COPY C:\BATCH\*.* T:\%MACHINE%\DIAG\BAT
ECHO.
ECHO Done - files in T:\%MACHINE%\DIAG
ECHO.

View File

@@ -1,167 +1,167 @@
@ECHO OFF @ECHO OFF
REM DOSTEST.BAT - Test DOS batch file deployment REM DOSTEST.BAT - Test DOS batch file deployment
REM Run this on the DOS machine after deploying new files REM Run this on the DOS machine after deploying new files
REM Version: 1.2 - DOS 6.22 compatible (removed brackets, 2>NUL, NUL checks) REM Version: 1.2 - DOS 6.22 compatible (removed brackets, 2>NUL, NUL checks)
REM Last modified: 2026-01-21 REM Last modified: 2026-01-21
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO DOS 6.22 Configuration Test Script ECHO DOS 6.22 Configuration Test Script
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM TEST 1: Check MACHINE variable REM TEST 1: Check MACHINE variable
REM ================================================================== REM ==================================================================
ECHO (TEST 1) Checking MACHINE variable... ECHO (TEST 1) Checking MACHINE variable...
IF "%MACHINE%"=="" GOTO TEST1_FAIL IF "%MACHINE%"=="" GOTO TEST1_FAIL
ECHO OK: MACHINE=%MACHINE% ECHO OK: MACHINE=%MACHINE%
GOTO TEST2 GOTO TEST2
:TEST1_FAIL :TEST1_FAIL
ECHO FAIL: MACHINE variable not set ECHO FAIL: MACHINE variable not set
ECHO Fix: Add "SET MACHINE=TS-4R" to C:\AUTOEXEC.BAT ECHO Fix: Add "SET MACHINE=TS-4R" to C:\AUTOEXEC.BAT
ECHO. ECHO.
PAUSE PAUSE
GOTO TEST2 GOTO TEST2
REM ================================================================== REM ==================================================================
REM TEST 2: Check required files exist REM TEST 2: Check required files exist
REM ================================================================== REM ==================================================================
:TEST2 :TEST2
ECHO. ECHO.
ECHO (TEST 2) Checking required files... ECHO (TEST 2) Checking required files...
IF NOT EXIST C:\AUTOEXEC.BAT ECHO FAIL: C:\AUTOEXEC.BAT missing IF NOT EXIST C:\AUTOEXEC.BAT ECHO FAIL: C:\AUTOEXEC.BAT missing
IF EXIST C:\AUTOEXEC.BAT ECHO OK: C:\AUTOEXEC.BAT exists IF EXIST C:\AUTOEXEC.BAT ECHO OK: C:\AUTOEXEC.BAT exists
IF NOT EXIST C:\STARTNET.BAT ECHO FAIL: C:\STARTNET.BAT missing IF NOT EXIST C:\STARTNET.BAT ECHO FAIL: C:\STARTNET.BAT missing
IF EXIST C:\STARTNET.BAT ECHO OK: C:\STARTNET.BAT exists IF EXIST C:\STARTNET.BAT ECHO OK: C:\STARTNET.BAT exists
IF NOT EXIST C:\BAT\*.* ECHO WARN: C:\BAT directory missing - run MD C:\BAT IF NOT EXIST C:\BAT\*.* ECHO WARN: C:\BAT directory missing - run MD C:\BAT
IF EXIST C:\BAT\*.* ECHO OK: C:\BAT directory exists IF EXIST C:\BAT\*.* ECHO OK: C:\BAT directory exists
REM ================================================================== REM ==================================================================
REM TEST 3: Check PATH variable REM TEST 3: Check PATH variable
REM ================================================================== REM ==================================================================
ECHO. ECHO.
ECHO (TEST 3) Checking PATH... ECHO (TEST 3) Checking PATH...
ECHO PATH=%PATH% ECHO PATH=%PATH%
REM ================================================================== REM ==================================================================
REM TEST 4: Check T: drive REM TEST 4: Check T: drive
REM ================================================================== REM ==================================================================
ECHO. ECHO.
ECHO (TEST 4) Checking T: drive... ECHO (TEST 4) Checking T: drive...
IF NOT EXIST T:\*.* GOTO TEST4_FAIL IF NOT EXIST T:\*.* GOTO TEST4_FAIL
ECHO OK: T: drive accessible ECHO OK: T: drive accessible
GOTO TEST5 GOTO TEST5
:TEST4_FAIL :TEST4_FAIL
ECHO FAIL: T: drive not accessible ECHO FAIL: T: drive not accessible
ECHO Fix: Run C:\STARTNET.BAT to map network drives ECHO Fix: Run C:\STARTNET.BAT to map network drives
GOTO TEST5 GOTO TEST5
REM ================================================================== REM ==================================================================
REM TEST 5: Check X: drive REM TEST 5: Check X: drive
REM ================================================================== REM ==================================================================
:TEST5 :TEST5
ECHO. ECHO.
ECHO (TEST 5) Checking X: drive... ECHO (TEST 5) Checking X: drive...
IF NOT EXIST X:\*.* GOTO TEST5_FAIL IF NOT EXIST X:\*.* GOTO TEST5_FAIL
ECHO OK: X: drive accessible ECHO OK: X: drive accessible
GOTO TEST6 GOTO TEST6
:TEST5_FAIL :TEST5_FAIL
ECHO FAIL: X: drive not accessible ECHO FAIL: X: drive not accessible
ECHO Fix: Run C:\STARTNET.BAT to map network drives ECHO Fix: Run C:\STARTNET.BAT to map network drives
GOTO TEST6 GOTO TEST6
REM ================================================================== REM ==================================================================
REM TEST 6: Check if backup directory can be created REM TEST 6: Check if backup directory can be created
REM ================================================================== REM ==================================================================
:TEST6 :TEST6
ECHO. ECHO.
ECHO (TEST 6) Checking backup directory creation... ECHO (TEST 6) Checking backup directory creation...
IF "%MACHINE%"=="" GOTO TEST6_SKIP IF "%MACHINE%"=="" GOTO TEST6_SKIP
REM Only test if T: is available REM Only test if T: is available
IF NOT EXIST T:\*.* GOTO TEST6_SKIP IF NOT EXIST T:\*.* GOTO TEST6_SKIP
REM Try to create machine directory REM Try to create machine directory
IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE% IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
IF NOT EXIST T:\%MACHINE%\*.* GOTO TEST6_FAIL IF NOT EXIST T:\%MACHINE%\*.* GOTO TEST6_FAIL
REM Try to create test subdirectory REM Try to create test subdirectory
IF NOT EXIST T:\%MACHINE%\TEST\*.* MD T:\%MACHINE%\TEST IF NOT EXIST T:\%MACHINE%\TEST\*.* MD T:\%MACHINE%\TEST
IF NOT EXIST T:\%MACHINE%\TEST\*.* GOTO TEST6_FAIL IF NOT EXIST T:\%MACHINE%\TEST\*.* GOTO TEST6_FAIL
ECHO OK: Can create T:\%MACHINE%\TEST ECHO OK: Can create T:\%MACHINE%\TEST
ECHO OK: Backup directory structure works ECHO OK: Backup directory structure works
REM Clean up test directory REM Clean up test directory
RD T:\%MACHINE%\TEST RD T:\%MACHINE%\TEST
GOTO SUMMARY GOTO SUMMARY
:TEST6_FAIL :TEST6_FAIL
ECHO FAIL: Cannot create directory on T: drive ECHO FAIL: Cannot create directory on T: drive
ECHO Check: T: drive is writable ECHO Check: T: drive is writable
GOTO SUMMARY GOTO SUMMARY
:TEST6_SKIP :TEST6_SKIP
ECHO SKIP: Cannot test (T: unavailable or MACHINE not set) ECHO SKIP: Cannot test (T: unavailable or MACHINE not set)
GOTO SUMMARY GOTO SUMMARY
REM ================================================================== REM ==================================================================
REM SUMMARY REM SUMMARY
REM ================================================================== REM ==================================================================
:SUMMARY :SUMMARY
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Test Summary ECHO Test Summary
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
IF "%MACHINE%"=="" GOTO SUMMARY_FAIL IF "%MACHINE%"=="" GOTO SUMMARY_FAIL
IF NOT EXIST C:\BAT\*.* GOTO SUMMARY_FAIL IF NOT EXIST C:\BAT\*.* GOTO SUMMARY_FAIL
IF NOT EXIST T:\*.* GOTO SUMMARY_FAIL IF NOT EXIST T:\*.* GOTO SUMMARY_FAIL
ECHO OK: All critical tests passed ECHO OK: All critical tests passed
ECHO. ECHO.
ECHO Configuration appears correct. ECHO Configuration appears correct.
ECHO. ECHO.
ECHO Next step: Run UPDATE to test backup ECHO Next step: Run UPDATE to test backup
ECHO C:\>UPDATE ECHO C:\>UPDATE
ECHO. ECHO.
GOTO END GOTO END
:SUMMARY_FAIL :SUMMARY_FAIL
ECHO FAIL: One or more tests failed ECHO FAIL: One or more tests failed
ECHO. ECHO.
ECHO Please fix the failed tests before running UPDATE ECHO Please fix the failed tests before running UPDATE
ECHO. ECHO.
ECHO Common fixes: ECHO Common fixes:
ECHO 1. Reboot machine (load AUTOEXEC.BAT changes) ECHO 1. Reboot machine (load AUTOEXEC.BAT changes)
ECHO 2. Run C:\STARTNET.BAT (map network drives) ECHO 2. Run C:\STARTNET.BAT (map network drives)
ECHO 3. Check network cable is connected ECHO 3. Check network cable is connected
ECHO 4. Create C:\BAT directory: MD C:\BAT ECHO 4. Create C:\BAT directory: MD C:\BAT
ECHO. ECHO.
:END :END
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
PAUSE PAUSE

View File

@@ -29,12 +29,12 @@ IF NOT EXIST C:\NET\*.* MD C:\NET
REM Check for COMMON updates REM Check for COMMON updates
IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON
ECHO [1/3] Copying batch files to C:\BAT... ECHO (1/3) Copying batch files to C:\BAT...
COPY T:\COMMON\ProdSW\*.BAT C:\BAT COPY T:\COMMON\ProdSW\*.BAT C:\BAT
ECHO Done ECHO Done
ECHO. ECHO.
ECHO [2/3] Copying ATE data folders to C:\ATE... ECHO (2/3) Copying ATE data folders to C:\ATE...
IF EXIST T:\Ate\ProdSW\5BDATA\*.* COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA IF EXIST T:\Ate\ProdSW\5BDATA\*.* COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA
IF EXIST T:\Ate\ProdSW\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA IF EXIST T:\Ate\ProdSW\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA
IF EXIST T:\Ate\ProdSW\8BDATA\*.* COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA IF EXIST T:\Ate\ProdSW\8BDATA\*.* COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA
@@ -49,14 +49,14 @@ ECHO.
REM Check for network client updates REM Check for network client updates
IF NOT EXIST T:\COMMON\NET\*.* GOTO SKIP_NET IF NOT EXIST T:\COMMON\NET\*.* GOTO SKIP_NET
ECHO [3/3] Copying network files to C:\NET... ECHO (3/3) Copying network files to C:\NET...
COPY T:\COMMON\NET\*.* C:\NET COPY T:\COMMON\NET\*.* C:\NET
ECHO Done ECHO Done
ECHO. ECHO.
GOTO DONE GOTO DONE
:SKIP_NET :SKIP_NET
ECHO [3/3] No network updates ECHO (3/3) No network updates
ECHO. ECHO.
:DONE :DONE
@@ -67,12 +67,12 @@ ECHO.
GOTO END GOTO END
:NO_COMMON :NO_COMMON
ECHO [ERROR] T:\COMMON\ProdSW not found ECHO ERROR: T:\COMMON\ProdSW not found
PAUSE PAUSE
GOTO END GOTO END
:NO_DRIVE :NO_DRIVE
ECHO [ERROR] T: drive not available ECHO ERROR: T: drive not available
ECHO Run C:\STARTNET.BAT first ECHO Run C:\STARTNET.BAT first
PAUSE PAUSE
GOTO END GOTO END

View File

@@ -1,133 +1,133 @@
@ECHO OFF @ECHO OFF
REM NWTOC-DEBUG.BAT - Download with diagnostic pauses REM NWTOCD.BAT - Download with diagnostic pauses (8.3 name)
REM Version: 1.0 - Debug version for recording REM Version: 1.1 - Debug version for recording
REM Last modified: 2026-01-21 REM Last modified: 2026-01-21
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO DEBUG: NWTOC - Network to Computer Download ECHO DEBUG: NWTOC - Network to Computer Download
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO NWTOC Step 0: Verifying prerequisites ECHO NWTOC Step 0: Verifying prerequisites
IF NOT EXIST T:\*.* GOTO NO_DRIVE IF NOT EXIST T:\*.* GOTO NO_DRIVE
ECHO T: drive OK ECHO T: drive OK
IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON
ECHO T:\COMMON\ProdSW OK ECHO T:\COMMON\ProdSW OK
ECHO. ECHO.
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 1: Creating local directories ECHO NWTOC Step 1: Creating local directories
IF NOT EXIST C:\BAT\*.* MD C:\BAT IF NOT EXIST C:\BAT\*.* MD C:\BAT
ECHO C:\BAT ready ECHO C:\BAT ready
IF NOT EXIST C:\ATE\*.* MD C:\ATE IF NOT EXIST C:\ATE\*.* MD C:\ATE
ECHO C:\ATE ready ECHO C:\ATE ready
IF NOT EXIST C:\ATE\5BDATA\*.* MD C:\ATE\5BDATA IF NOT EXIST C:\ATE\5BDATA\*.* MD C:\ATE\5BDATA
IF NOT EXIST C:\ATE\7BDATA\*.* MD C:\ATE\7BDATA IF NOT EXIST C:\ATE\7BDATA\*.* MD C:\ATE\7BDATA
IF NOT EXIST C:\ATE\8BDATA\*.* MD C:\ATE\8BDATA IF NOT EXIST C:\ATE\8BDATA\*.* MD C:\ATE\8BDATA
IF NOT EXIST C:\ATE\DSCDATA\*.* MD C:\ATE\DSCDATA IF NOT EXIST C:\ATE\DSCDATA\*.* MD C:\ATE\DSCDATA
IF NOT EXIST C:\ATE\HVDATA\*.* MD C:\ATE\HVDATA IF NOT EXIST C:\ATE\HVDATA\*.* MD C:\ATE\HVDATA
IF NOT EXIST C:\ATE\PWRDATA\*.* MD C:\ATE\PWRDATA IF NOT EXIST C:\ATE\PWRDATA\*.* MD C:\ATE\PWRDATA
IF NOT EXIST C:\ATE\RMSDATA\*.* MD C:\ATE\RMSDATA IF NOT EXIST C:\ATE\RMSDATA\*.* MD C:\ATE\RMSDATA
IF NOT EXIST C:\ATE\SCTDATA\*.* MD C:\ATE\SCTDATA IF NOT EXIST C:\ATE\SCTDATA\*.* MD C:\ATE\SCTDATA
ECHO C:\ATE subfolders ready ECHO C:\ATE subfolders ready
IF NOT EXIST C:\NET\*.* MD C:\NET IF NOT EXIST C:\NET\*.* MD C:\NET
ECHO C:\NET ready ECHO C:\NET ready
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 2: Downloading batch files to C:\BAT ECHO NWTOC Step 2: Downloading batch files to C:\BAT
IF EXIST T:\COMMON\ProdSW\*.BAT ECHO Found BAT files in T:\COMMON\ProdSW IF EXIST T:\COMMON\ProdSW\*.BAT ECHO Found BAT files in T:\COMMON\ProdSW
COPY T:\COMMON\ProdSW\*.BAT C:\BAT COPY T:\COMMON\ProdSW\*.BAT C:\BAT
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 3: Downloading 5BDATA ECHO NWTOC Step 3: Downloading 5BDATA
IF EXIST T:\Ate\ProdSW\5BDATA\*.* ECHO Found files in T:\Ate\ProdSW\5BDATA IF EXIST T:\Ate\ProdSW\5BDATA\*.* ECHO Found files in T:\Ate\ProdSW\5BDATA
IF EXIST T:\Ate\ProdSW\5BDATA\*.* COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA IF EXIST T:\Ate\ProdSW\5BDATA\*.* COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA
IF NOT EXIST T:\Ate\ProdSW\5BDATA\*.* ECHO No files in T:\Ate\ProdSW\5BDATA IF NOT EXIST T:\Ate\ProdSW\5BDATA\*.* ECHO No files in T:\Ate\ProdSW\5BDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 4: Downloading 7BDATA ECHO NWTOC Step 4: Downloading 7BDATA
IF EXIST T:\Ate\ProdSW\7BDATA\*.* ECHO Found files in T:\Ate\ProdSW\7BDATA IF EXIST T:\Ate\ProdSW\7BDATA\*.* ECHO Found files in T:\Ate\ProdSW\7BDATA
IF EXIST T:\Ate\ProdSW\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA IF EXIST T:\Ate\ProdSW\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA
IF NOT EXIST T:\Ate\ProdSW\7BDATA\*.* ECHO No files in T:\Ate\ProdSW\7BDATA IF NOT EXIST T:\Ate\ProdSW\7BDATA\*.* ECHO No files in T:\Ate\ProdSW\7BDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 5: Downloading 8BDATA ECHO NWTOC Step 5: Downloading 8BDATA
IF EXIST T:\Ate\ProdSW\8BDATA\*.* ECHO Found files in T:\Ate\ProdSW\8BDATA IF EXIST T:\Ate\ProdSW\8BDATA\*.* ECHO Found files in T:\Ate\ProdSW\8BDATA
IF EXIST T:\Ate\ProdSW\8BDATA\*.* COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA IF EXIST T:\Ate\ProdSW\8BDATA\*.* COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA
IF NOT EXIST T:\Ate\ProdSW\8BDATA\*.* ECHO No files in T:\Ate\ProdSW\8BDATA IF NOT EXIST T:\Ate\ProdSW\8BDATA\*.* ECHO No files in T:\Ate\ProdSW\8BDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 6: Downloading DSCDATA ECHO NWTOC Step 6: Downloading DSCDATA
IF EXIST T:\Ate\ProdSW\DSCDATA\*.* ECHO Found files in T:\Ate\ProdSW\DSCDATA IF EXIST T:\Ate\ProdSW\DSCDATA\*.* ECHO Found files in T:\Ate\ProdSW\DSCDATA
IF EXIST T:\Ate\ProdSW\DSCDATA\*.* COPY T:\Ate\ProdSW\DSCDATA\*.* C:\ATE\DSCDATA IF EXIST T:\Ate\ProdSW\DSCDATA\*.* COPY T:\Ate\ProdSW\DSCDATA\*.* C:\ATE\DSCDATA
IF NOT EXIST T:\Ate\ProdSW\DSCDATA\*.* ECHO No files in T:\Ate\ProdSW\DSCDATA IF NOT EXIST T:\Ate\ProdSW\DSCDATA\*.* ECHO No files in T:\Ate\ProdSW\DSCDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 7: Downloading HVDATA ECHO NWTOC Step 7: Downloading HVDATA
IF EXIST T:\Ate\ProdSW\HVDATA\*.* ECHO Found files in T:\Ate\ProdSW\HVDATA IF EXIST T:\Ate\ProdSW\HVDATA\*.* ECHO Found files in T:\Ate\ProdSW\HVDATA
IF EXIST T:\Ate\ProdSW\HVDATA\*.* COPY T:\Ate\ProdSW\HVDATA\*.* C:\ATE\HVDATA IF EXIST T:\Ate\ProdSW\HVDATA\*.* COPY T:\Ate\ProdSW\HVDATA\*.* C:\ATE\HVDATA
IF NOT EXIST T:\Ate\ProdSW\HVDATA\*.* ECHO No files in T:\Ate\ProdSW\HVDATA IF NOT EXIST T:\Ate\ProdSW\HVDATA\*.* ECHO No files in T:\Ate\ProdSW\HVDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 8: Downloading PWRDATA ECHO NWTOC Step 8: Downloading PWRDATA
IF EXIST T:\Ate\ProdSW\PWRDATA\*.* ECHO Found files in T:\Ate\ProdSW\PWRDATA IF EXIST T:\Ate\ProdSW\PWRDATA\*.* ECHO Found files in T:\Ate\ProdSW\PWRDATA
IF EXIST T:\Ate\ProdSW\PWRDATA\*.* COPY T:\Ate\ProdSW\PWRDATA\*.* C:\ATE\PWRDATA IF EXIST T:\Ate\ProdSW\PWRDATA\*.* COPY T:\Ate\ProdSW\PWRDATA\*.* C:\ATE\PWRDATA
IF NOT EXIST T:\Ate\ProdSW\PWRDATA\*.* ECHO No files in T:\Ate\ProdSW\PWRDATA IF NOT EXIST T:\Ate\ProdSW\PWRDATA\*.* ECHO No files in T:\Ate\ProdSW\PWRDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 9: Downloading RMSDATA ECHO NWTOC Step 9: Downloading RMSDATA
IF EXIST T:\Ate\ProdSW\RMSDATA\*.* ECHO Found files in T:\Ate\ProdSW\RMSDATA IF EXIST T:\Ate\ProdSW\RMSDATA\*.* ECHO Found files in T:\Ate\ProdSW\RMSDATA
IF EXIST T:\Ate\ProdSW\RMSDATA\*.* COPY T:\Ate\ProdSW\RMSDATA\*.* C:\ATE\RMSDATA IF EXIST T:\Ate\ProdSW\RMSDATA\*.* COPY T:\Ate\ProdSW\RMSDATA\*.* C:\ATE\RMSDATA
IF NOT EXIST T:\Ate\ProdSW\RMSDATA\*.* ECHO No files in T:\Ate\ProdSW\RMSDATA IF NOT EXIST T:\Ate\ProdSW\RMSDATA\*.* ECHO No files in T:\Ate\ProdSW\RMSDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 10: Downloading SCTDATA ECHO NWTOC Step 10: Downloading SCTDATA
IF EXIST T:\Ate\ProdSW\SCTDATA\*.* ECHO Found files in T:\Ate\ProdSW\SCTDATA IF EXIST T:\Ate\ProdSW\SCTDATA\*.* ECHO Found files in T:\Ate\ProdSW\SCTDATA
IF EXIST T:\Ate\ProdSW\SCTDATA\*.* COPY T:\Ate\ProdSW\SCTDATA\*.* C:\ATE\SCTDATA IF EXIST T:\Ate\ProdSW\SCTDATA\*.* COPY T:\Ate\ProdSW\SCTDATA\*.* C:\ATE\SCTDATA
IF NOT EXIST T:\Ate\ProdSW\SCTDATA\*.* ECHO No files in T:\Ate\ProdSW\SCTDATA IF NOT EXIST T:\Ate\ProdSW\SCTDATA\*.* ECHO No files in T:\Ate\ProdSW\SCTDATA
PAUSE PAUSE
ECHO. ECHO.
ECHO NWTOC Step 11: Checking for network client updates ECHO NWTOC Step 11: Checking for network client updates
IF NOT EXIST T:\COMMON\NET\*.* GOTO SKIP_NET IF NOT EXIST T:\COMMON\NET\*.* GOTO SKIP_NET
ECHO Found files in T:\COMMON\NET ECHO Found files in T:\COMMON\NET
COPY T:\COMMON\NET\*.* C:\NET COPY T:\COMMON\NET\*.* C:\NET
ECHO Network files copied ECHO Network files copied
PAUSE PAUSE
GOTO DONE GOTO DONE
:SKIP_NET :SKIP_NET
ECHO No network updates in T:\COMMON\NET ECHO No network updates in T:\COMMON\NET
PAUSE PAUSE
:DONE :DONE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO NWTOC-DEBUG Complete ECHO NWTOC-DEBUG Complete
ECHO ============================================================== ECHO ==============================================================
GOTO END GOTO END
:NO_DRIVE :NO_DRIVE
ECHO. ECHO.
ECHO NWTOC ERROR: T: drive not available ECHO NWTOC ERROR: T: drive not available
PAUSE PAUSE
GOTO END GOTO END
:NO_COMMON :NO_COMMON
ECHO. ECHO.
ECHO NWTOC ERROR: T:\COMMON\ProdSW not found ECHO NWTOC ERROR: T:\COMMON\ProdSW not found
PAUSE PAUSE
GOTO END GOTO END
:END :END

View File

@@ -1,166 +1,166 @@
@ECHO OFF @ECHO OFF
REM REBOOT.BAT - Manual system file update script REM REBOOT.BAT - Manual system file update script
REM REM
REM NOTE: This file is normally AUTO-GENERATED by STAGE.BAT REM NOTE: This file is normally AUTO-GENERATED by STAGE.BAT
REM This standalone version is for manual testing/recovery only REM This standalone version is for manual testing/recovery only
REM REM
REM Usage: REBOOT REM Usage: REBOOT
REM REM
REM Applies staged system file updates: REM Applies staged system file updates:
REM C:\AUTOEXEC.NEW ??? C:\AUTOEXEC.BAT REM C:\AUTOEXEC.NEW ??? C:\AUTOEXEC.BAT
REM C:\CONFIG.NEW ??? C:\CONFIG.SYS REM C:\CONFIG.NEW ??? C:\CONFIG.SYS
REM REM
REM Version: 1.0 - DOS 6.22 compatible REM Version: 1.0 - DOS 6.22 compatible
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Manual System File Update ECHO Manual System File Update
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM Check if staged files exist REM Check if staged files exist
REM ================================================================== REM ==================================================================
SET HASAUTO=0 SET HASAUTO=0
SET HASCONF=0 SET HASCONF=0
IF EXIST C:\AUTOEXEC.NEW SET HASAUTO=1 IF EXIST C:\AUTOEXEC.NEW SET HASAUTO=1
IF EXIST C:\CONFIG.NEW SET HASCONF=1 IF EXIST C:\CONFIG.NEW SET HASCONF=1
IF "%HASAUTO%"=="0" IF "%HASCONF%"=="0" GOTO NO_UPDATES IF "%HASAUTO%"=="0" IF "%HASCONF%"=="0" GOTO NO_UPDATES
REM ================================================================== REM ==================================================================
REM Warn user REM Warn user
REM ================================================================== REM ==================================================================
ECHO [WARNING] This will replace your current system files: ECHO WARNING: This will replace your current system files:
ECHO. ECHO.
IF "%HASAUTO%"=="1" ECHO C:\AUTOEXEC.BAT will be replaced by C:\AUTOEXEC.NEW IF "%HASAUTO%"=="1" ECHO C:\AUTOEXEC.BAT will be replaced by C:\AUTOEXEC.NEW
IF "%HASCONF%"=="1" ECHO C:\CONFIG.SYS will be replaced by C:\CONFIG.NEW IF "%HASCONF%"=="1" ECHO C:\CONFIG.SYS will be replaced by C:\CONFIG.NEW
ECHO. ECHO.
ECHO Backups will be saved as .SAV files. ECHO Backups will be saved as .SAV files.
ECHO. ECHO.
ECHO Press Ctrl+C to cancel, or ECHO Press Ctrl+C to cancel, or
PAUSE PAUSE
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM Backup current files REM Backup current files
REM ================================================================== REM ==================================================================
ECHO Creating backups... ECHO Creating backups...
IF EXIST C:\AUTOEXEC.BAT COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL IF EXIST C:\AUTOEXEC.BAT COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
IF EXIST C:\AUTOEXEC.BAT IF NOT ERRORLEVEL 1 ECHO [OK] C:\AUTOEXEC.BAT ??? C:\AUTOEXEC.SAV IF EXIST C:\AUTOEXEC.BAT IF NOT ERRORLEVEL 1 ECHO (OK) C:\AUTOEXEC.BAT ??? C:\AUTOEXEC.SAV
IF EXIST C:\CONFIG.SYS COPY C:\CONFIG.SYS C:\CONFIG.SAV >NUL IF EXIST C:\CONFIG.SYS COPY C:\CONFIG.SYS C:\CONFIG.SAV >NUL
IF EXIST C:\CONFIG.SYS IF NOT ERRORLEVEL 1 ECHO [OK] C:\CONFIG.SYS ??? C:\CONFIG.SAV IF EXIST C:\CONFIG.SYS IF NOT ERRORLEVEL 1 ECHO (OK) C:\CONFIG.SYS ??? C:\CONFIG.SAV
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM Apply updates REM Apply updates
REM ================================================================== REM ==================================================================
ECHO Applying updates... ECHO Applying updates...
REM Apply AUTOEXEC.NEW REM Apply AUTOEXEC.NEW
IF "%HASAUTO%"=="1" COPY C:\AUTOEXEC.NEW C:\AUTOEXEC.BAT >NUL IF "%HASAUTO%"=="1" COPY C:\AUTOEXEC.NEW C:\AUTOEXEC.BAT >NUL
IF "%HASAUTO%"=="1" IF NOT ERRORLEVEL 1 ECHO [OK] AUTOEXEC.BAT updated IF "%HASAUTO%"=="1" IF NOT ERRORLEVEL 1 ECHO (OK) AUTOEXEC.BAT updated
IF "%HASAUTO%"=="1" IF ERRORLEVEL 1 ECHO [ERROR] AUTOEXEC.BAT update failed IF "%HASAUTO%"=="1" IF ERRORLEVEL 1 ECHO ERROR: AUTOEXEC.BAT update failed
IF "%HASAUTO%"=="1" IF ERRORLEVEL 1 GOTO UPDATE_ERROR IF "%HASAUTO%"=="1" IF ERRORLEVEL 1 GOTO UPDATE_ERROR
REM Apply CONFIG.NEW REM Apply CONFIG.NEW
IF "%HASCONF%"=="1" COPY C:\CONFIG.NEW C:\CONFIG.SYS >NUL IF "%HASCONF%"=="1" COPY C:\CONFIG.NEW C:\CONFIG.SYS >NUL
IF "%HASCONF%"=="1" IF NOT ERRORLEVEL 1 ECHO [OK] CONFIG.SYS updated IF "%HASCONF%"=="1" IF NOT ERRORLEVEL 1 ECHO (OK) CONFIG.SYS updated
IF "%HASCONF%"=="1" IF ERRORLEVEL 1 ECHO [ERROR] CONFIG.SYS update failed IF "%HASCONF%"=="1" IF ERRORLEVEL 1 ECHO ERROR: CONFIG.SYS update failed
IF "%HASCONF%"=="1" IF ERRORLEVEL 1 GOTO UPDATE_ERROR IF "%HASCONF%"=="1" IF ERRORLEVEL 1 GOTO UPDATE_ERROR
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM Clean up staging files REM Clean up staging files
REM ================================================================== REM ==================================================================
ECHO Cleaning up staging files... ECHO Cleaning up staging files...
IF EXIST C:\AUTOEXEC.NEW DEL C:\AUTOEXEC.NEW IF EXIST C:\AUTOEXEC.NEW DEL C:\AUTOEXEC.NEW
IF EXIST C:\CONFIG.NEW DEL C:\CONFIG.NEW IF EXIST C:\CONFIG.NEW DEL C:\CONFIG.NEW
ECHO [OK] Staging files deleted ECHO (OK) Staging files deleted
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM Success REM Success
REM ================================================================== REM ==================================================================
ECHO ============================================================== ECHO ==============================================================
ECHO System Files Updated Successfully ECHO System Files Updated Successfully
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Updated files: ECHO Updated files:
IF "%HASAUTO%"=="1" ECHO - C:\AUTOEXEC.BAT IF "%HASAUTO%"=="1" ECHO - C:\AUTOEXEC.BAT
IF "%HASCONF%"=="1" ECHO - C:\CONFIG.SYS IF "%HASCONF%"=="1" ECHO - C:\CONFIG.SYS
ECHO. ECHO.
ECHO Backup files saved: ECHO Backup files saved:
ECHO - C:\AUTOEXEC.SAV (previous AUTOEXEC.BAT) ECHO - C:\AUTOEXEC.SAV (previous AUTOEXEC.BAT)
ECHO - C:\CONFIG.SAV (previous CONFIG.SYS) ECHO - C:\CONFIG.SAV (previous CONFIG.SYS)
ECHO. ECHO.
ECHO To activate changes: ECHO To activate changes:
ECHO Reboot the computer (Ctrl+Alt+Del) ECHO Reboot the computer (Ctrl+Alt+Del)
ECHO. ECHO.
ECHO To rollback changes: ECHO To rollback changes:
ECHO COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT ECHO COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
ECHO COPY C:\CONFIG.SAV C:\CONFIG.SYS ECHO COPY C:\CONFIG.SAV C:\CONFIG.SYS
ECHO Then reboot ECHO Then reboot
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM ERROR HANDLERS REM ERROR HANDLERS
REM ================================================================== REM ==================================================================
:NO_UPDATES :NO_UPDATES
ECHO [WARNING] No staged update files found ECHO WARNING: No staged update files found
ECHO. ECHO.
ECHO Expected files: ECHO Expected files:
ECHO C:\AUTOEXEC.NEW (not found) ECHO C:\AUTOEXEC.NEW (not found)
ECHO C:\CONFIG.NEW (not found) ECHO C:\CONFIG.NEW (not found)
ECHO. ECHO.
ECHO Run NWTOC to download updates from network, then: ECHO Run NWTOC to download updates from network, then:
ECHO CALL C:\BAT\STAGE.BAT ECHO CALL C:\BAT\STAGE.BAT
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:UPDATE_ERROR :UPDATE_ERROR
ECHO. ECHO.
ECHO [ERROR] Update failed ECHO ERROR: Update failed
ECHO. ECHO.
ECHO Your system may be in an inconsistent state. ECHO Your system may be in an inconsistent state.
ECHO. ECHO.
ECHO Recovery steps: ECHO Recovery steps:
ECHO 1. COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT ECHO 1. COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
ECHO 2. COPY C:\CONFIG.SAV C:\CONFIG.SYS ECHO 2. COPY C:\CONFIG.SAV C:\CONFIG.SYS
ECHO 3. Reboot (Ctrl+Alt+Del) ECHO 3. Reboot (Ctrl+Alt+Del)
ECHO. ECHO.
ECHO If system won't boot: ECHO If system won't boot:
ECHO 1. Boot from DOS floppy ECHO 1. Boot from DOS floppy
ECHO 2. Copy .SAV files back to .BAT and .SYS ECHO 2. Copy .SAV files back to .BAT and .SYS
ECHO 3. Remove floppy and reboot ECHO 3. Remove floppy and reboot
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
SET HASAUTO= SET HASAUTO=
SET HASCONF= SET HASCONF=

View File

@@ -1,245 +1,245 @@
@ECHO OFF @ECHO OFF
REM STAGE.BAT - Stage system files for update after reboot REM STAGE.BAT - Stage system files for update after reboot
REM Called by NWTOC.BAT when AUTOEXEC.NEW or CONFIG.NEW are detected REM Called by NWTOC.BAT when AUTOEXEC.NEW or CONFIG.NEW are detected
REM REM
REM This script: REM This script:
REM 1. Verifies staged files exist (C:\AUTOEXEC.NEW, C:\CONFIG.NEW) REM 1. Verifies staged files exist (C:\AUTOEXEC.NEW, C:\CONFIG.NEW)
REM 2. Backs up current AUTOEXEC.BAT to C:\AUTOEXEC.SAV REM 2. Backs up current AUTOEXEC.BAT to C:\AUTOEXEC.SAV
REM 3. Creates REBOOT.BAT to apply changes after reboot REM 3. Creates REBOOT.BAT to apply changes after reboot
REM 4. Modifies AUTOEXEC.BAT to call REBOOT.BAT once on next boot REM 4. Modifies AUTOEXEC.BAT to call REBOOT.BAT once on next boot
REM 5. Instructs user to reboot REM 5. Instructs user to reboot
REM REM
REM Version: 1.0 - DOS 6.22 compatible REM Version: 1.0 - DOS 6.22 compatible
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
REM ================================================================== REM ==================================================================
REM STEP 1: Verify staged files exist REM STEP 1: Verify staged files exist
REM ================================================================== REM ==================================================================
SET HASAUTO=0 SET HASAUTO=0
SET HASCONF=0 SET HASCONF=0
IF EXIST C:\AUTOEXEC.NEW SET HASAUTO=1 IF EXIST C:\AUTOEXEC.NEW SET HASAUTO=1
IF EXIST C:\CONFIG.NEW SET HASCONF=1 IF EXIST C:\CONFIG.NEW SET HASCONF=1
REM Check if any updates need staging REM Check if any updates need staging
IF "%HASAUTO%"=="0" IF "%HASCONF%"=="0" GOTO NO_UPDATES IF "%HASAUTO%"=="0" IF "%HASCONF%"=="0" GOTO NO_UPDATES
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Staging System File Updates ECHO Staging System File Updates
ECHO ============================================================== ECHO ==============================================================
IF "%HASAUTO%"=="1" ECHO [STAGED] C:\AUTOEXEC.NEW ??? Will replace AUTOEXEC.BAT IF "%HASAUTO%"=="1" ECHO (STAGED) C:\AUTOEXEC.NEW ??? Will replace AUTOEXEC.BAT
IF "%HASCONF%"=="1" ECHO [STAGED] C:\CONFIG.NEW ??? Will replace CONFIG.SYS IF "%HASCONF%"=="1" ECHO (STAGED) C:\CONFIG.NEW ??? Will replace CONFIG.SYS
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 2: Backup current AUTOEXEC.BAT REM STEP 2: Backup current AUTOEXEC.BAT
REM ================================================================== REM ==================================================================
ECHO [1/3] Backing up current system files... ECHO (1/3) Backing up current system files...
REM Check if AUTOEXEC.BAT exists REM Check if AUTOEXEC.BAT exists
IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC
REM Create backup REM Create backup
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
IF ERRORLEVEL 1 GOTO BACKUP_ERROR IF ERRORLEVEL 1 GOTO BACKUP_ERROR
ECHO [OK] C:\AUTOEXEC.BAT ??? C:\AUTOEXEC.SAV ECHO (OK) C:\AUTOEXEC.BAT ??? C:\AUTOEXEC.SAV
REM Also backup CONFIG.SYS if it exists REM Also backup CONFIG.SYS if it exists
IF EXIST C:\CONFIG.SYS COPY C:\CONFIG.SYS C:\CONFIG.SAV >NUL IF EXIST C:\CONFIG.SYS COPY C:\CONFIG.SYS C:\CONFIG.SAV >NUL
IF EXIST C:\CONFIG.SYS IF NOT ERRORLEVEL 1 ECHO [OK] C:\CONFIG.SYS ??? C:\CONFIG.SAV IF EXIST C:\CONFIG.SYS IF NOT ERRORLEVEL 1 ECHO (OK) C:\CONFIG.SYS ??? C:\CONFIG.SAV
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 3: Create REBOOT.BAT REM STEP 3: Create REBOOT.BAT
REM ================================================================== REM ==================================================================
ECHO [2/3] Creating reboot update script... ECHO (2/3) Creating reboot update script...
REM Create C:\BAT directory if it doesn't exist REM Create C:\BAT directory if it doesn't exist
IF NOT EXIST C:\BAT\NUL MD C:\BAT IF NOT EXIST C:\BAT\NUL MD C:\BAT
REM Create REBOOT.BAT - this runs once after reboot REM Create REBOOT.BAT - this runs once after reboot
ECHO @ECHO OFF > C:\BAT\REBOOT.BAT ECHO @ECHO OFF > C:\BAT\REBOOT.BAT
ECHO REM REBOOT.BAT - Apply staged system updates (AUTO-GENERATED) >> C:\BAT\REBOOT.BAT ECHO REM REBOOT.BAT - Apply staged system updates (AUTO-GENERATED) >> C:\BAT\REBOOT.BAT
ECHO REM This file is automatically deleted after running >> C:\BAT\REBOOT.BAT ECHO REM This file is automatically deleted after running >> C:\BAT\REBOOT.BAT
ECHO. >> C:\BAT\REBOOT.BAT ECHO. >> C:\BAT\REBOOT.BAT
ECHO ECHO. >> C:\BAT\REBOOT.BAT ECHO ECHO. >> C:\BAT\REBOOT.BAT
ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT
ECHO ECHO Applying System Updates >> C:\BAT\REBOOT.BAT ECHO ECHO Applying System Updates >> C:\BAT\REBOOT.BAT
ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT
ECHO ECHO. >> C:\BAT\REBOOT.BAT ECHO ECHO. >> C:\BAT\REBOOT.BAT
ECHO. >> C:\BAT\REBOOT.BAT ECHO. >> C:\BAT\REBOOT.BAT
REM Apply AUTOEXEC.NEW if it exists REM Apply AUTOEXEC.NEW if it exists
IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW ECHO [1/2] Updating AUTOEXEC.BAT... >> C:\BAT\REBOOT.BAT IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW ECHO (1/2) Updating AUTOEXEC.BAT... >> C:\BAT\REBOOT.BAT
IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW COPY C:\AUTOEXEC.NEW C:\AUTOEXEC.BAT ^>NUL >> C:\BAT\REBOOT.BAT IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW COPY C:\AUTOEXEC.NEW C:\AUTOEXEC.BAT ^>NUL >> C:\BAT\REBOOT.BAT
IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW IF NOT ERRORLEVEL 1 ECHO [OK] AUTOEXEC.BAT updated >> C:\BAT\REBOOT.BAT IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW IF NOT ERRORLEVEL 1 ECHO (OK) AUTOEXEC.BAT updated >> C:\BAT\REBOOT.BAT
IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW IF ERRORLEVEL 1 ECHO [ERROR] AUTOEXEC.BAT update failed >> C:\BAT\REBOOT.BAT IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW IF ERRORLEVEL 1 ECHO ERROR: AUTOEXEC.BAT update failed >> C:\BAT\REBOOT.BAT
IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW DEL C:\AUTOEXEC.NEW >> C:\BAT\REBOOT.BAT IF "%HASAUTO%"=="1" ECHO IF EXIST C:\AUTOEXEC.NEW DEL C:\AUTOEXEC.NEW >> C:\BAT\REBOOT.BAT
IF "%HASAUTO%"=="1" ECHO ECHO. >> C:\BAT\REBOOT.BAT IF "%HASAUTO%"=="1" ECHO ECHO. >> C:\BAT\REBOOT.BAT
REM Apply CONFIG.NEW if it exists REM Apply CONFIG.NEW if it exists
IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW ECHO [2/2] Updating CONFIG.SYS... >> C:\BAT\REBOOT.BAT IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW ECHO (2/2) Updating CONFIG.SYS... >> C:\BAT\REBOOT.BAT
IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW COPY C:\CONFIG.NEW C:\CONFIG.SYS ^>NUL >> C:\BAT\REBOOT.BAT IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW COPY C:\CONFIG.NEW C:\CONFIG.SYS ^>NUL >> C:\BAT\REBOOT.BAT
IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW IF NOT ERRORLEVEL 1 ECHO [OK] CONFIG.SYS updated >> C:\BAT\REBOOT.BAT IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW IF NOT ERRORLEVEL 1 ECHO (OK) CONFIG.SYS updated >> C:\BAT\REBOOT.BAT
IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW IF ERRORLEVEL 1 ECHO [ERROR] CONFIG.SYS update failed >> C:\BAT\REBOOT.BAT IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW IF ERRORLEVEL 1 ECHO ERROR: CONFIG.SYS update failed >> C:\BAT\REBOOT.BAT
IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW DEL C:\CONFIG.NEW >> C:\BAT\REBOOT.BAT IF "%HASCONF%"=="1" ECHO IF EXIST C:\CONFIG.NEW DEL C:\CONFIG.NEW >> C:\BAT\REBOOT.BAT
IF "%HASCONF%"=="1" ECHO ECHO. >> C:\BAT\REBOOT.BAT IF "%HASCONF%"=="1" ECHO ECHO. >> C:\BAT\REBOOT.BAT
REM Delete REBOOT.BAT after running REM Delete REBOOT.BAT after running
ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT
ECHO ECHO System Updates Applied >> C:\BAT\REBOOT.BAT ECHO ECHO System Updates Applied >> C:\BAT\REBOOT.BAT
ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT ECHO ECHO ============================================================== >> C:\BAT\REBOOT.BAT
ECHO ECHO. >> C:\BAT\REBOOT.BAT ECHO ECHO. >> C:\BAT\REBOOT.BAT
ECHO ECHO Rollback files available: >> C:\BAT\REBOOT.BAT ECHO ECHO Rollback files available: >> C:\BAT\REBOOT.BAT
ECHO ECHO C:\AUTOEXEC.SAV - Previous AUTOEXEC.BAT >> C:\BAT\REBOOT.BAT ECHO ECHO C:\AUTOEXEC.SAV - Previous AUTOEXEC.BAT >> C:\BAT\REBOOT.BAT
ECHO ECHO C:\CONFIG.SAV - Previous CONFIG.SYS >> C:\BAT\REBOOT.BAT ECHO ECHO C:\CONFIG.SAV - Previous CONFIG.SYS >> C:\BAT\REBOOT.BAT
ECHO ECHO. >> C:\BAT\REBOOT.BAT ECHO ECHO. >> C:\BAT\REBOOT.BAT
ECHO ECHO To rollback, run: >> C:\BAT\REBOOT.BAT ECHO ECHO To rollback, run: >> C:\BAT\REBOOT.BAT
ECHO ECHO COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT >> C:\BAT\REBOOT.BAT ECHO ECHO COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT >> C:\BAT\REBOOT.BAT
ECHO ECHO COPY C:\CONFIG.SAV C:\CONFIG.SYS >> C:\BAT\REBOOT.BAT ECHO ECHO COPY C:\CONFIG.SAV C:\CONFIG.SYS >> C:\BAT\REBOOT.BAT
ECHO ECHO. >> C:\BAT\REBOOT.BAT ECHO ECHO. >> C:\BAT\REBOOT.BAT
ECHO PAUSE Press any key to continue boot... >> C:\BAT\REBOOT.BAT ECHO PAUSE Press any key to continue boot... >> C:\BAT\REBOOT.BAT
ECHO. >> C:\BAT\REBOOT.BAT ECHO. >> C:\BAT\REBOOT.BAT
ECHO REM Delete this script >> C:\BAT\REBOOT.BAT ECHO REM Delete this script >> C:\BAT\REBOOT.BAT
ECHO DEL C:\BAT\REBOOT.BAT >> C:\BAT\REBOOT.BAT ECHO DEL C:\BAT\REBOOT.BAT >> C:\BAT\REBOOT.BAT
IF NOT EXIST C:\BAT\REBOOT.BAT GOTO CREATE_ERROR IF NOT EXIST C:\BAT\REBOOT.BAT GOTO CREATE_ERROR
ECHO [OK] C:\BAT\REBOOT.BAT created ECHO (OK) C:\BAT\REBOOT.BAT created
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 4: Modify AUTOEXEC.BAT to call REBOOT.BAT once REM STEP 4: Modify AUTOEXEC.BAT to call REBOOT.BAT once
REM ================================================================== REM ==================================================================
ECHO [3/3] Modifying AUTOEXEC.BAT for one-time reboot update... ECHO (3/3) Modifying AUTOEXEC.BAT for one-time reboot update...
REM Create temporary file with REBOOT.BAT call at the top REM Create temporary file with REBOOT.BAT call at the top
ECHO @ECHO OFF > C:\AUTOEXEC.TMP ECHO @ECHO OFF > C:\AUTOEXEC.TMP
ECHO REM One-time system update on next reboot >> C:\AUTOEXEC.TMP ECHO REM One-time system update on next reboot >> C:\AUTOEXEC.TMP
ECHO IF EXIST C:\BAT\REBOOT.BAT CALL C:\BAT\REBOOT.BAT >> C:\AUTOEXEC.TMP ECHO IF EXIST C:\BAT\REBOOT.BAT CALL C:\BAT\REBOOT.BAT >> C:\AUTOEXEC.TMP
ECHO. >> C:\AUTOEXEC.TMP ECHO. >> C:\AUTOEXEC.TMP
REM Append current AUTOEXEC.BAT contents (skip first @ECHO OFF line) REM Append current AUTOEXEC.BAT contents (skip first @ECHO OFF line)
REM DOS 6.22: Use TYPE and redirect (simple copy preserves all lines) REM DOS 6.22: Use TYPE and redirect (simple copy preserves all lines)
TYPE C:\AUTOEXEC.BAT >> C:\AUTOEXEC.TMP TYPE C:\AUTOEXEC.BAT >> C:\AUTOEXEC.TMP
REM Replace AUTOEXEC.BAT with modified version REM Replace AUTOEXEC.BAT with modified version
COPY C:\AUTOEXEC.TMP C:\AUTOEXEC.BAT >NUL COPY C:\AUTOEXEC.TMP C:\AUTOEXEC.BAT >NUL
IF ERRORLEVEL 1 GOTO MODIFY_ERROR IF ERRORLEVEL 1 GOTO MODIFY_ERROR
REM Clean up temporary file REM Clean up temporary file
DEL C:\AUTOEXEC.TMP DEL C:\AUTOEXEC.TMP
ECHO [OK] AUTOEXEC.BAT modified to run update on next boot ECHO (OK) AUTOEXEC.BAT modified to run update on next boot
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 5: Instruct user to reboot REM STEP 5: Instruct user to reboot
REM ================================================================== REM ==================================================================
ECHO ============================================================== ECHO ==============================================================
ECHO REBOOT REQUIRED ECHO REBOOT REQUIRED
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO System files have been staged for update. ECHO System files have been staged for update.
ECHO. ECHO.
ECHO On next boot, AUTOEXEC.BAT will automatically: ECHO On next boot, AUTOEXEC.BAT will automatically:
ECHO 1. Apply AUTOEXEC.NEW and/or CONFIG.NEW ECHO 1. Apply AUTOEXEC.NEW and/or CONFIG.NEW
ECHO 2. Delete staging files ECHO 2. Delete staging files
ECHO 3. Continue normal boot ECHO 3. Continue normal boot
ECHO. ECHO.
ECHO To apply updates now: ECHO To apply updates now:
ECHO 1. Press Ctrl+Alt+Del to reboot ECHO 1. Press Ctrl+Alt+Del to reboot
ECHO 2. Or type: EXIT and reboot from DOS prompt ECHO 2. Or type: EXIT and reboot from DOS prompt
ECHO. ECHO.
ECHO To cancel update: ECHO To cancel update:
ECHO 1. Delete C:\AUTOEXEC.NEW ECHO 1. Delete C:\AUTOEXEC.NEW
ECHO 2. Delete C:\CONFIG.NEW ECHO 2. Delete C:\CONFIG.NEW
ECHO 3. Delete C:\BAT\REBOOT.BAT ECHO 3. Delete C:\BAT\REBOOT.BAT
ECHO 4. Restore C:\AUTOEXEC.BAT from C:\AUTOEXEC.SAV ECHO 4. Restore C:\AUTOEXEC.BAT from C:\AUTOEXEC.SAV
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM ERROR HANDLERS REM ERROR HANDLERS
REM ================================================================== REM ==================================================================
:NO_UPDATES :NO_UPDATES
ECHO. ECHO.
ECHO [WARNING] No staged update files found ECHO WARNING: No staged update files found
ECHO. ECHO.
ECHO Expected files: ECHO Expected files:
ECHO C:\AUTOEXEC.NEW (not found) ECHO C:\AUTOEXEC.NEW (not found)
ECHO C:\CONFIG.NEW (not found) ECHO C:\CONFIG.NEW (not found)
ECHO. ECHO.
ECHO Run NWTOC to download updates from network. ECHO Run NWTOC to download updates from network.
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:NO_AUTOEXEC :NO_AUTOEXEC
ECHO. ECHO.
ECHO [ERROR] C:\AUTOEXEC.BAT not found ECHO ERROR: C:\AUTOEXEC.BAT not found
ECHO. ECHO.
ECHO Cannot stage updates without existing AUTOEXEC.BAT ECHO Cannot stage updates without existing AUTOEXEC.BAT
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:BACKUP_ERROR :BACKUP_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to create backup ECHO ERROR: Failed to create backup
ECHO. ECHO.
ECHO Could not copy C:\AUTOEXEC.BAT to C:\AUTOEXEC.SAV ECHO Could not copy C:\AUTOEXEC.BAT to C:\AUTOEXEC.SAV
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - Sufficient disk space on C: ECHO - Sufficient disk space on C:
ECHO - C: drive is not write-protected ECHO - C: drive is not write-protected
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:CREATE_ERROR :CREATE_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to create C:\BAT\REBOOT.BAT ECHO ERROR: Failed to create C:\BAT\REBOOT.BAT
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - C:\BAT directory exists ECHO - C:\BAT directory exists
ECHO - Sufficient disk space on C: ECHO - Sufficient disk space on C:
ECHO - C: drive is not write-protected ECHO - C: drive is not write-protected
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:MODIFY_ERROR :MODIFY_ERROR
ECHO. ECHO.
ECHO [ERROR] Failed to modify AUTOEXEC.BAT ECHO ERROR: Failed to modify AUTOEXEC.BAT
ECHO. ECHO.
ECHO AUTOEXEC.BAT may be corrupted! ECHO AUTOEXEC.BAT may be corrupted!
ECHO. ECHO.
ECHO Recovery: ECHO Recovery:
ECHO COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT ECHO COPY C:\AUTOEXEC.SAV C:\AUTOEXEC.BAT
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
REM Clean up environment variables REM Clean up environment variables
SET HASAUTO= SET HASAUTO=
SET HASCONF= SET HASCONF=

View File

@@ -1,75 +1,75 @@
@ECHO OFF @ECHO OFF
REM STARTNET.BAT - Start Microsoft Network Client and map drives REM STARTNET.BAT - Start Microsoft Network Client and map drives
REM Called from AUTOEXEC.BAT REM Called from AUTOEXEC.BAT
REM REM
REM Version: 2.0 REM Version: 2.0
REM Last modified: 2026-01-19 REM Last modified: 2026-01-19
REM ================================================================== REM ==================================================================
REM STEP 1: Start network client REM STEP 1: Start network client
REM ================================================================== REM ==================================================================
REM Load network protocols and drivers REM Load network protocols and drivers
REM This starts the Microsoft Network Client that was loaded via CONFIG.SYS REM This starts the Microsoft Network Client that was loaded via CONFIG.SYS
NET START NET START
REM Check if NET START succeeded REM Check if NET START succeeded
IF ERRORLEVEL 1 GOTO NET_START_FAILED IF ERRORLEVEL 1 GOTO NET_START_FAILED
ECHO [OK] Network client started ECHO (OK) Network client started
REM ================================================================== REM ==================================================================
REM STEP 2: Map network drives REM STEP 2: Map network drives
REM ================================================================== REM ==================================================================
REM Map T: to test share (SMB1 compatible) REM Map T: to test share (SMB1 compatible)
REM /YES = Don't prompt for confirmation REM /YES = Don't prompt for confirmation
NET USE T: \\D2TESTNAS\test /YES NET USE T: \\D2TESTNAS\test /YES
IF ERRORLEVEL 1 GOTO T_DRIVE_FAILED IF ERRORLEVEL 1 GOTO T_DRIVE_FAILED
ECHO [OK] T: mapped to \\D2TESTNAS\test ECHO (OK) T: mapped to \\D2TESTNAS\test
REM Map X: to datasheets share REM Map X: to datasheets share
NET USE X: \\D2TESTNAS\datasheets /YES NET USE X: \\D2TESTNAS\datasheets /YES
IF ERRORLEVEL 1 GOTO X_DRIVE_FAILED IF ERRORLEVEL 1 GOTO X_DRIVE_FAILED
ECHO [OK] X: mapped to \\D2TESTNAS\datasheets ECHO (OK) X: mapped to \\D2TESTNAS\datasheets
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM ERROR HANDLERS REM ERROR HANDLERS
REM ================================================================== REM ==================================================================
:NET_START_FAILED :NET_START_FAILED
ECHO [ERROR] Network client failed to start ECHO ERROR: Network client failed to start
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - Network cable is connected ECHO - Network cable is connected
ECHO - CONFIG.SYS has correct network drivers ECHO - CONFIG.SYS has correct network drivers
ECHO - PROTOCOL.INI is configured correctly ECHO - PROTOCOL.INI is configured correctly
ECHO. ECHO.
GOTO END GOTO END
:T_DRIVE_FAILED :T_DRIVE_FAILED
ECHO [ERROR] Failed to map T: drive ECHO ERROR: Failed to map T: drive
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - Server \\D2TESTNAS is online ECHO - Server \\D2TESTNAS is online
ECHO - Share \\D2TESTNAS\test exists ECHO - Share \\D2TESTNAS\test exists
ECHO - Network connectivity to 172.16.3.0/24 network ECHO - Network connectivity to 172.16.3.0/24 network
ECHO - SMB1 protocol enabled on NAS ECHO - SMB1 protocol enabled on NAS
ECHO. ECHO.
GOTO END GOTO END
:X_DRIVE_FAILED :X_DRIVE_FAILED
ECHO [ERROR] Failed to map X: drive ECHO ERROR: Failed to map X: drive
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - Server \\D2TESTNAS is online ECHO - Server \\D2TESTNAS is online
ECHO - Share \\D2TESTNAS\datasheets exists ECHO - Share \\D2TESTNAS\datasheets exists
ECHO. ECHO.
GOTO END GOTO END
:END :END
REM Return to AUTOEXEC.BAT REM Return to AUTOEXEC.BAT

View File

@@ -1,5 +1,5 @@
@ECHO OFF @ECHO OFF
REM Quick test to run updated NWTOC from network REM Quick test to run updated NWTOC from network
REM Run this on TS-4R to get latest version REM Run this on TS-4R to get latest version
ECHO Running updated NWTOC from T:\COMMON\ProdSW... ECHO Running updated NWTOC from T:\COMMON\ProdSW...
CALL T:\COMMON\ProdSW\NWTOC.BAT CALL T:\COMMON\ProdSW\NWTOC.BAT

View File

@@ -18,7 +18,7 @@ IF NOT "%MACHINE%"=="" GOTO USE_ENV
:NO_MACHINE :NO_MACHINE
ECHO. ECHO.
ECHO [ERROR] Machine name not specified ECHO ERROR: Machine name not specified
ECHO. ECHO.
ECHO Usage: UPDATE machine-name ECHO Usage: UPDATE machine-name
ECHO Example: UPDATE TS-4R ECHO Example: UPDATE TS-4R
@@ -47,12 +47,12 @@ ECHO Checking network drive T:...
REM DOS 6.22: Direct file test is most reliable REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
ECHO [OK] T: drive accessible ECHO (OK) T: drive accessible
GOTO START_BACKUP GOTO START_BACKUP
:NO_T_DRIVE :NO_T_DRIVE
ECHO. ECHO.
ECHO [ERROR] T: drive not available ECHO ERROR: T: drive not available
ECHO. ECHO.
ECHO Network drive T: must be mapped to \\D2TESTNAS\test ECHO Network drive T: must be mapped to \\D2TESTNAS\test
ECHO. ECHO.
@@ -87,7 +87,7 @@ IF NOT EXIST T:\%MACHINE%\BACKUP\NUL MD T:\%MACHINE%\BACKUP
REM Check if backup directory was created successfully REM Check if backup directory was created successfully
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR
ECHO [OK] Backup directory ready ECHO (OK) Backup directory ready
ECHO. ECHO.
REM ================================================================== REM ==================================================================
@@ -124,7 +124,7 @@ IF ERRORLEVEL 2 GOTO USER_ABORT
IF ERRORLEVEL 1 GOTO NO_FILES IF ERRORLEVEL 1 GOTO NO_FILES
ECHO. ECHO.
ECHO [OK] Backup completed successfully ECHO (OK) Backup completed successfully
ECHO. ECHO.
ECHO Files backed up to: T:\%MACHINE%\BACKUP ECHO Files backed up to: T:\%MACHINE%\BACKUP
GOTO END GOTO END
@@ -135,7 +135,7 @@ REM ==================================================================
:BACKUP_DIR_ERROR :BACKUP_DIR_ERROR
ECHO. ECHO.
ECHO [ERROR] Could not create backup directory ECHO ERROR: Could not create backup directory
ECHO Target: T:\%MACHINE%\BACKUP ECHO Target: T:\%MACHINE%\BACKUP
ECHO. ECHO.
ECHO Check: ECHO Check:
@@ -148,7 +148,7 @@ GOTO END
:DISK_ERROR :DISK_ERROR
ECHO. ECHO.
ECHO [ERROR] Disk write error ECHO ERROR: Disk write error
ECHO. ECHO.
ECHO Possible causes: ECHO Possible causes:
ECHO - Target drive is full ECHO - Target drive is full
@@ -160,7 +160,7 @@ GOTO END
:INIT_ERROR :INIT_ERROR
ECHO. ECHO.
ECHO [ERROR] Backup initialization failed ECHO ERROR: Backup initialization failed
ECHO. ECHO.
ECHO Possible causes: ECHO Possible causes:
ECHO - Insufficient memory ECHO - Insufficient memory
@@ -172,7 +172,7 @@ GOTO END
:USER_ABORT :USER_ABORT
ECHO. ECHO.
ECHO [WARNING] Backup terminated by user (Ctrl+C) ECHO WARNING: Backup terminated by user (Ctrl+C)
ECHO. ECHO.
ECHO Backup may be incomplete! ECHO Backup may be incomplete!
ECHO. ECHO.
@@ -181,7 +181,7 @@ GOTO END
:NO_FILES :NO_FILES
ECHO. ECHO.
ECHO [WARNING] No files found to copy ECHO WARNING: No files found to copy
ECHO. ECHO.
ECHO This may indicate: ECHO This may indicate:
ECHO - All files are already up to date (/D option) ECHO - All files are already up to date (/D option)

View File

@@ -1,199 +1,199 @@
@ECHO OFF @ECHO OFF
REM UPDATE.BAT - Backup Dataforth test machine to network storage REM UPDATE.BAT - Backup Dataforth test machine to network storage
REM Usage: UPDATE [machine-name] REM Usage: UPDATE [machine-name]
REM Example: UPDATE TS-4R REM Example: UPDATE TS-4R
REM REM
REM If machine-name not provided, uses MACHINE environment variable REM If machine-name not provided, uses MACHINE environment variable
REM from AUTOEXEC.BAT REM from AUTOEXEC.BAT
REM REM
REM Version: 2.4 - DOS 6.22 compatible (removed brackets, fixed NUL checks) REM Version: 2.4 - DOS 6.22 compatible (removed brackets, fixed NUL checks)
REM Last modified: 2026-01-21 REM Last modified: 2026-01-21
REM ================================================================== REM ==================================================================
REM STEP 1: Determine machine name REM STEP 1: Determine machine name
REM ================================================================== REM ==================================================================
IF NOT "%1"=="" GOTO USE_PARAM IF NOT "%1"=="" GOTO USE_PARAM
IF NOT "%MACHINE%"=="" GOTO USE_ENV IF NOT "%MACHINE%"=="" GOTO USE_ENV
:NO_MACHINE :NO_MACHINE
ECHO. ECHO.
ECHO ERROR: Machine name not specified ECHO ERROR: Machine name not specified
ECHO. ECHO.
ECHO Usage: UPDATE machine-name ECHO Usage: UPDATE machine-name
ECHO Example: UPDATE TS-4R ECHO Example: UPDATE TS-4R
ECHO. ECHO.
ECHO Or set MACHINE variable in AUTOEXEC.BAT: ECHO Or set MACHINE variable in AUTOEXEC.BAT:
ECHO SET MACHINE=TS-4R ECHO SET MACHINE=TS-4R
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:USE_PARAM :USE_PARAM
SET MACHINE=%1 SET MACHINE=%1
GOTO CHECK_DRIVE GOTO CHECK_DRIVE
:USE_ENV :USE_ENV
REM Machine name from environment variable REM Machine name from environment variable
GOTO CHECK_DRIVE GOTO CHECK_DRIVE
REM ================================================================== REM ==================================================================
REM STEP 2: Verify T: drive is accessible REM STEP 2: Verify T: drive is accessible
REM ================================================================== REM ==================================================================
:CHECK_DRIVE :CHECK_DRIVE
ECHO Checking network drive T:... ECHO Checking network drive T:...
REM DOS 6.22: Direct file test is most reliable REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
ECHO OK: T: drive accessible ECHO OK: T: drive accessible
GOTO START_BACKUP GOTO START_BACKUP
:NO_T_DRIVE :NO_T_DRIVE
ECHO. ECHO.
ECHO ERROR: T: drive not available ECHO ERROR: T: drive not available
ECHO. ECHO.
ECHO Network drive T: must be mapped to \\D2TESTNAS\test ECHO Network drive T: must be mapped to \\D2TESTNAS\test
ECHO. ECHO.
ECHO Run STARTNET.BAT to map network drives: ECHO Run STARTNET.BAT to map network drives:
ECHO C:\STARTNET.BAT ECHO C:\STARTNET.BAT
ECHO. ECHO.
ECHO Or map manually: ECHO Or map manually:
ECHO NET USE T: \\D2TESTNAS\test /YES ECHO NET USE T: \\D2TESTNAS\test /YES
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM STEP 3: Create backup directory structure REM STEP 3: Create backup directory structure
REM ================================================================== REM ==================================================================
:START_BACKUP :START_BACKUP
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO Backup: Machine %MACHINE% ECHO Backup: Machine %MACHINE%
ECHO ============================================================== ECHO ==============================================================
ECHO Source: C:\ ECHO Source: C:\
ECHO Target: T:\%MACHINE%\BACKUP ECHO Target: T:\%MACHINE%\BACKUP
ECHO. ECHO.
REM Create machine directory if it doesn't exist REM Create machine directory if it doesn't exist
IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE% IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
REM Create backup directory REM Create backup directory
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* MD T:\%MACHINE%\BACKUP IF NOT EXIST T:\%MACHINE%\BACKUP\*.* MD T:\%MACHINE%\BACKUP
REM Check if backup directory was created successfully REM Check if backup directory was created successfully
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR
ECHO OK: Backup directory ready ECHO OK: Backup directory ready
ECHO. ECHO.
REM ================================================================== REM ==================================================================
REM STEP 4: Perform backup REM STEP 4: Perform backup
REM ================================================================== REM ==================================================================
ECHO Starting backup... ECHO Starting backup...
ECHO This may take several minutes depending on file count. ECHO This may take several minutes depending on file count.
ECHO. ECHO.
REM XCOPY options for DOS 6.22: REM XCOPY options for DOS 6.22:
REM /S = Copy subdirectories (except empty ones) REM /S = Copy subdirectories (except empty ones)
REM /E = Copy subdirectories (including empty ones) REM /E = Copy subdirectories (including empty ones)
REM /Y = Suppress prompts (auto-overwrite) REM /Y = Suppress prompts (auto-overwrite)
REM /H = Copy hidden and system files REM /H = Copy hidden and system files
REM /K = Copy attributes REM /K = Copy attributes
REM /C = Continue on errors REM /C = Continue on errors
REM REM
REM NOTE: /D flag removed - requires date parameter in DOS 6.22 (/D:mm-dd-yy) REM NOTE: /D flag removed - requires date parameter in DOS 6.22 (/D:mm-dd-yy)
REM NOTE: /Q flag not available in DOS 6.22 (added in later Windows versions) REM NOTE: /Q flag not available in DOS 6.22 (added in later Windows versions)
XCOPY C:\*.* T:\%MACHINE%\BACKUP /S /E /Y /H /K /C XCOPY C:\*.* T:\%MACHINE%\BACKUP /S /E /Y /H /K /C
REM Check XCOPY error level REM Check XCOPY error level
REM 0 = Files copied OK REM 0 = Files copied OK
REM 1 = No files found to copy REM 1 = No files found to copy
REM 2 = User terminated (Ctrl+C) REM 2 = User terminated (Ctrl+C)
REM 4 = Initialization error (insufficient memory, invalid path, etc) REM 4 = Initialization error (insufficient memory, invalid path, etc)
REM 5 = Disk write error REM 5 = Disk write error
IF ERRORLEVEL 5 GOTO DISK_ERROR IF ERRORLEVEL 5 GOTO DISK_ERROR
IF ERRORLEVEL 4 GOTO INIT_ERROR IF ERRORLEVEL 4 GOTO INIT_ERROR
IF ERRORLEVEL 2 GOTO USER_ABORT IF ERRORLEVEL 2 GOTO USER_ABORT
IF ERRORLEVEL 1 GOTO NO_FILES IF ERRORLEVEL 1 GOTO NO_FILES
ECHO. ECHO.
ECHO OK: Backup completed successfully ECHO OK: Backup completed successfully
ECHO. ECHO.
ECHO Files backed up to: T:\%MACHINE%\BACKUP ECHO Files backed up to: T:\%MACHINE%\BACKUP
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM ERROR HANDLERS REM ERROR HANDLERS
REM ================================================================== REM ==================================================================
:BACKUP_DIR_ERROR :BACKUP_DIR_ERROR
ECHO. ECHO.
ECHO ERROR: Could not create backup directory ECHO ERROR: Could not create backup directory
ECHO Target: T:\%MACHINE%\BACKUP ECHO Target: T:\%MACHINE%\BACKUP
ECHO. ECHO.
ECHO Check: ECHO Check:
ECHO - T: drive is writable ECHO - T: drive is writable
ECHO - Sufficient disk space on T: ECHO - Sufficient disk space on T:
ECHO - Network connection is stable ECHO - Network connection is stable
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:DISK_ERROR :DISK_ERROR
ECHO. ECHO.
ECHO ERROR: Disk write error ECHO ERROR: Disk write error
ECHO. ECHO.
ECHO Possible causes: ECHO Possible causes:
ECHO - Target drive is full ECHO - Target drive is full
ECHO - Network connection lost ECHO - Network connection lost
ECHO - Permission denied ECHO - Permission denied
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:INIT_ERROR :INIT_ERROR
ECHO. ECHO.
ECHO ERROR: Backup initialization failed ECHO ERROR: Backup initialization failed
ECHO. ECHO.
ECHO Possible causes: ECHO Possible causes:
ECHO - Insufficient memory ECHO - Insufficient memory
ECHO - Invalid path ECHO - Invalid path
ECHO - Target drive not accessible ECHO - Target drive not accessible
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:USER_ABORT :USER_ABORT
ECHO. ECHO.
ECHO WARNING: Backup terminated by user (Ctrl+C) ECHO WARNING: Backup terminated by user (Ctrl+C)
ECHO. ECHO.
ECHO Backup may be incomplete! ECHO Backup may be incomplete!
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
:NO_FILES :NO_FILES
ECHO. ECHO.
ECHO WARNING: No files found to copy ECHO WARNING: No files found to copy
ECHO. ECHO.
ECHO This may indicate: ECHO This may indicate:
ECHO - All files are already up to date (/D option) ECHO - All files are already up to date (/D option)
ECHO - Source drive is empty ECHO - Source drive is empty
ECHO. ECHO.
PAUSE PAUSE
GOTO END GOTO END
REM ================================================================== REM ==================================================================
REM CLEANUP AND EXIT REM CLEANUP AND EXIT
REM ================================================================== REM ==================================================================
:END :END
REM Clean up environment variables (DOS has limited space) REM Clean up environment variables (DOS has limited space)
SET OLDDRV= SET OLDDRV=

View File

@@ -0,0 +1,32 @@
#!/bin/bash
# deploy-to-nas.sh - Deploy batch files to NAS with validation
# Always validates and fixes before deploying
set -e
echo "======================================"
echo "DOS Batch File Deployment"
echo "======================================"
echo ""
# Step 1: Validate and fix
echo "Step 1: Validating and fixing batch files..."
./validate-dos.sh --fix
# Step 2: Re-validate (should have no trailing space issues)
echo ""
echo "Step 2: Re-validating..."
./validate-dos.sh 2>&1 | grep -v "WARNING" | tail -5
# Step 3: Deploy to NAS
echo ""
echo "Step 3: Deploying to NAS..."
scp *.BAT root@192.168.0.9:/data/test/COMMON/ProdSW/
echo ""
echo "======================================"
echo "Deployment complete!"
echo "======================================"
echo ""
echo "Files deployed to T:\\COMMON\\ProdSW"
echo "Run NWTOC on DOS machine to download updates"

View File

@@ -0,0 +1,106 @@
#!/bin/bash
# validate-dos.sh - Validate batch files for DOS 6.22 compatibility
# Run before deploying to DOS machines
ERRORS=0
echo "DOS 6.22 Batch File Validator"
echo "=============================="
echo ""
for file in *.BAT; do
[ -f "$file" ] || continue
echo "Checking: $file"
# Rule 1: No CALL :label
if grep -qE "CALL\s+:" "$file" 2>/dev/null; then
echo " ERROR: CALL :label subroutine found (Rule 1)"
ERRORS=$((ERRORS+1))
fi
# Rule 2: No %DATE% or %TIME%
if grep -qE "%DATE%|%TIME%" "$file" 2>/dev/null; then
echo " ERROR: %DATE% or %TIME% found (Rule 2)"
ERRORS=$((ERRORS+1))
fi
# Rule 3: No square brackets in ECHO
if grep -qE "ECHO.*\[" "$file" 2>/dev/null; then
# Exclude REM lines
if grep -vE "^REM" "$file" | grep -qE "ECHO.*\[" 2>/dev/null; then
echo " ERROR: Square brackets in ECHO (Rule 3)"
ERRORS=$((ERRORS+1))
fi
fi
# Rule 6: No 2>NUL
if grep -qE "2>NUL|2> *NUL" "$file" 2>/dev/null; then
echo " ERROR: 2>NUL stderr redirect found (Rule 6)"
ERRORS=$((ERRORS+1))
fi
# Rule 8: No :EOF
if grep -qE "GOTO\s+:?EOF" "$file" 2>/dev/null; then
echo " ERROR: :EOF label reference found (Rule 8)"
ERRORS=$((ERRORS+1))
fi
# Rule 15: No SETLOCAL/ENDLOCAL
if grep -qiE "SETLOCAL|ENDLOCAL" "$file" 2>/dev/null; then
echo " ERROR: SETLOCAL/ENDLOCAL found (Rule 15)"
ERRORS=$((ERRORS+1))
fi
# Rule 19: Check for LF-only line endings (no CR)
if file "$file" | grep -qv "CRLF"; then
if file "$file" | grep -q "ASCII"; then
echo " WARNING: May have Unix line endings (Rule 19)"
fi
fi
# Rule 20: Trailing spaces in SET statements
if grep -qE "^SET [A-Za-z_]+=[^ ]* +$" "$file" 2>/dev/null; then
echo " ERROR: Trailing space in SET statement (Rule 20)"
grep -nE "^SET [A-Za-z_]+=[^ ]* +$" "$file" | sed 's/^/ Line /'
ERRORS=$((ERRORS+1))
fi
# Rule 20: Any trailing whitespace
if grep -qE " +$" "$file" 2>/dev/null; then
TRAILING=$(grep -cE " +$" "$file")
echo " WARNING: $TRAILING lines have trailing whitespace (Rule 20)"
fi
# Check filename is 8.3
BASENAME=$(basename "$file" .BAT)
if [ ${#BASENAME} -gt 8 ]; then
echo " ERROR: Filename exceeds 8 characters (Rule 14)"
ERRORS=$((ERRORS+1))
fi
done
echo ""
echo "=============================="
if [ $ERRORS -eq 0 ]; then
echo "All checks passed!"
else
echo "Found $ERRORS error(s)"
fi
echo ""
# Auto-fix option
if [ "$1" = "--fix" ]; then
echo "Applying fixes..."
for file in *.BAT; do
[ -f "$file" ] || continue
# Strip trailing whitespace
sed -i '' 's/[[:space:]]*$//' "$file"
# Convert to DOS line endings
perl -pi -e 's/\r?\n/\r\n/g' "$file"
echo " Fixed: $file"
done
echo "Done. Re-run without --fix to verify."
fi
exit $ERRORS