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,16 +1,17 @@
@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 NOT "%1"=="" SET MACHINE=%1
IF "%MACHINE%"=="" GOTO NO_MACHINE IF "%MACHINE%"=="" GOTO NO_MACHINE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO DEBUG MODE: ATESYNC ECHO DEBUG MODE: ATESYNCD
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO STEP 0: Machine name set ECHO STEP 0: Machine name set
@@ -65,37 +66,37 @@ PAUSE
:START_SYNC :START_SYNC
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO STEP 3: Starting CTONW (Upload test results) ECHO STEP 3: Starting CTONWD (Upload test results)
ECHO ============================================================== ECHO ==============================================================
ECHO About to call: CTONW-DEBUG.BAT ECHO About to call: CTONWD.BAT
ECHO. ECHO.
ECHO Press any key to run CTONW-DEBUG... ECHO Press any key to run CTONWD...
PAUSE PAUSE
CALL CTONW-DEBUG.BAT CALL CTONWD.BAT
ECHO. ECHO.
ECHO CTONW-DEBUG completed ECHO CTONWD completed
ECHO. ECHO.
ECHO Press any key to continue to Step 4... ECHO Press any key to continue to Step 4...
PAUSE PAUSE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO STEP 4: Starting NWTOC (Download updates) ECHO STEP 4: Starting NWTOCD (Download updates)
ECHO ============================================================== ECHO ==============================================================
ECHO About to call: NWTOC-DEBUG.BAT ECHO About to call: NWTOCD.BAT
ECHO. ECHO.
ECHO Press any key to run NWTOC-DEBUG... ECHO Press any key to run NWTOCD...
PAUSE PAUSE
CALL NWTOC-DEBUG.BAT CALL NWTOCD.BAT
ECHO. ECHO.
ECHO NWTOC-DEBUG completed ECHO NWTOCD completed
ECHO. ECHO.
ECHO Press any key to finish... ECHO Press any key to finish...
PAUSE PAUSE
ECHO. ECHO.
ECHO ============================================================== ECHO ==============================================================
ECHO ATESYNC-DEBUG Complete: %MACHINE% ECHO ATESYNCD Complete: %MACHINE%
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
GOTO END GOTO END
@@ -106,7 +107,7 @@ ECHO ==============================================================
ECHO ERROR at STEP 0: MACHINE not set ECHO ERROR at STEP 0: MACHINE not set
ECHO ============================================================== ECHO ==============================================================
ECHO. ECHO.
ECHO Usage: ATESYNC-DEBUG TS-27 ECHO Usage: ATESYNCD TS-3R
PAUSE PAUSE
GOTO END GOTO END

View File

@@ -39,7 +39,7 @@ 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
@@ -68,7 +68,7 @@ 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:

View File

@@ -1,6 +1,6 @@
@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.

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

@@ -36,7 +36,7 @@ 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
@@ -45,7 +45,7 @@ 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
@@ -53,7 +53,7 @@ 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.
@@ -73,7 +73,7 @@ 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
@@ -82,13 +82,13 @@ 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.
@@ -109,7 +109,7 @@ 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.
@@ -122,7 +122,7 @@ 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
@@ -130,19 +130,19 @@ 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
@@ -157,7 +157,7 @@ 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
@@ -165,9 +165,9 @@ 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.
@@ -180,32 +180,32 @@ 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
@@ -215,14 +215,14 @@ 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
@@ -237,7 +237,7 @@ 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
@@ -250,12 +250,12 @@ 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="
@@ -276,7 +276,7 @@ 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%

View File

@@ -36,7 +36,7 @@ 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
@@ -45,7 +45,7 @@ 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
@@ -53,7 +53,7 @@ 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.
@@ -73,7 +73,7 @@ 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
@@ -82,13 +82,13 @@ 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.
@@ -109,7 +109,7 @@ 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.
@@ -122,7 +122,7 @@ 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
@@ -130,19 +130,19 @@ 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
@@ -157,7 +157,7 @@ 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
@@ -166,11 +166,11 @@ 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.
@@ -184,32 +184,32 @@ 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
@@ -219,14 +219,14 @@ 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
@@ -241,7 +241,7 @@ 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
@@ -256,12 +256,12 @@ 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="
@@ -282,7 +282,7 @@ 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%

View File

@@ -36,7 +36,7 @@ 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
@@ -45,7 +45,7 @@ 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
@@ -53,7 +53,7 @@ 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.
@@ -73,7 +73,7 @@ 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
@@ -82,13 +82,13 @@ 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.
@@ -109,7 +109,7 @@ 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.
@@ -122,7 +122,7 @@ 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
@@ -130,19 +130,19 @@ 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
@@ -157,7 +157,7 @@ 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
@@ -166,11 +166,11 @@ 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.
@@ -184,32 +184,32 @@ 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
@@ -219,14 +219,14 @@ 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
@@ -241,7 +241,7 @@ 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
@@ -256,12 +256,12 @@ 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="
@@ -282,7 +282,7 @@ 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%

View File

@@ -36,7 +36,7 @@ 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
@@ -45,7 +45,7 @@ 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
@@ -53,7 +53,7 @@ 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.
@@ -73,7 +73,7 @@ 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
@@ -82,13 +82,13 @@ 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.
@@ -109,7 +109,7 @@ 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.
@@ -122,7 +122,7 @@ 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
@@ -130,19 +130,19 @@ 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
@@ -157,7 +157,7 @@ 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
@@ -165,9 +165,9 @@ 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.
@@ -180,32 +180,32 @@ 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
@@ -215,14 +215,14 @@ 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
@@ -237,7 +237,7 @@ 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
@@ -250,12 +250,12 @@ 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="
@@ -276,7 +276,7 @@ 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%

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

@@ -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,6 +1,6 @@
@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.

View File

@@ -35,7 +35,7 @@ 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
@@ -53,10 +53,10 @@ 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.
@@ -68,14 +68,14 @@ 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.
@@ -89,7 +89,7 @@ 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 ==================================================================
@@ -126,7 +126,7 @@ 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)
@@ -140,7 +140,7 @@ 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.

View File

@@ -30,8 +30,8 @@ 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.
@@ -39,7 +39,7 @@ 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
@@ -48,11 +48,11 @@ 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.
@@ -60,7 +60,7 @@ 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
@@ -78,18 +78,18 @@ 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
@@ -113,14 +113,14 @@ 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
@@ -139,7 +139,7 @@ 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 ==================================================================
@@ -178,7 +178,7 @@ 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)
@@ -191,7 +191,7 @@ 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.
@@ -200,7 +200,7 @@ 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.
@@ -213,7 +213,7 @@ 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
@@ -225,7 +225,7 @@ 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.

View File

@@ -16,7 +16,7 @@ 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
@@ -27,13 +27,13 @@ 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
@@ -42,7 +42,7 @@ 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
@@ -52,7 +52,7 @@ 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
@@ -63,7 +63,7 @@ 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

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

@@ -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