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:
@@ -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
|
||||
|
||||
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
|
||||
- [ ] Environment variables quoted in comparisons
|
||||
- [ ] 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 |
|
||||
|---------------|--------------|-----|
|
||||
| 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 |
|
||||
| Invalid switch | XCOPY /I, XCOPY /D | Use COPY or remove flag |
|
||||
| Invalid number of parameters | XCOPY /D without date | Add date or use COPY |
|
||||
| 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
|
||||
|
||||
- 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
|
||||
|
||||
---
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
@ECHO OFF
|
||||
REM ATESYNC-DEBUG.BAT - ATE Sync with diagnostic pauses
|
||||
REM Version: 1.0 - Debug version for recording boot process
|
||||
REM ATESYNCD.BAT - ATE Sync with diagnostic pauses (8.3 name)
|
||||
REM Version: 1.1 - Debug version for recording boot process
|
||||
REM Last modified: 2026-01-21
|
||||
REM
|
||||
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
|
||||
|
||||
ECHO.
|
||||
ECHO ==============================================================
|
||||
ECHO DEBUG MODE: ATESYNC
|
||||
ECHO DEBUG MODE: ATESYNCD
|
||||
ECHO ==============================================================
|
||||
ECHO.
|
||||
ECHO STEP 0: Machine name set
|
||||
@@ -65,37 +66,37 @@ PAUSE
|
||||
:START_SYNC
|
||||
ECHO.
|
||||
ECHO ==============================================================
|
||||
ECHO STEP 3: Starting CTONW (Upload test results)
|
||||
ECHO STEP 3: Starting CTONWD (Upload test results)
|
||||
ECHO ==============================================================
|
||||
ECHO About to call: CTONW-DEBUG.BAT
|
||||
ECHO About to call: CTONWD.BAT
|
||||
ECHO.
|
||||
ECHO Press any key to run CTONW-DEBUG...
|
||||
ECHO Press any key to run CTONWD...
|
||||
PAUSE
|
||||
CALL CTONW-DEBUG.BAT
|
||||
CALL CTONWD.BAT
|
||||
ECHO.
|
||||
ECHO CTONW-DEBUG completed
|
||||
ECHO CTONWD completed
|
||||
ECHO.
|
||||
ECHO Press any key to continue to Step 4...
|
||||
PAUSE
|
||||
|
||||
ECHO.
|
||||
ECHO ==============================================================
|
||||
ECHO STEP 4: Starting NWTOC (Download updates)
|
||||
ECHO STEP 4: Starting NWTOCD (Download updates)
|
||||
ECHO ==============================================================
|
||||
ECHO About to call: NWTOC-DEBUG.BAT
|
||||
ECHO About to call: NWTOCD.BAT
|
||||
ECHO.
|
||||
ECHO Press any key to run NWTOC-DEBUG...
|
||||
ECHO Press any key to run NWTOCD...
|
||||
PAUSE
|
||||
CALL NWTOC-DEBUG.BAT
|
||||
CALL NWTOCD.BAT
|
||||
ECHO.
|
||||
ECHO NWTOC-DEBUG completed
|
||||
ECHO NWTOCD completed
|
||||
ECHO.
|
||||
ECHO Press any key to finish...
|
||||
PAUSE
|
||||
|
||||
ECHO.
|
||||
ECHO ==============================================================
|
||||
ECHO ATESYNC-DEBUG Complete: %MACHINE%
|
||||
ECHO ATESYNCD Complete: %MACHINE%
|
||||
ECHO ==============================================================
|
||||
ECHO.
|
||||
GOTO END
|
||||
@@ -106,7 +107,7 @@ ECHO ==============================================================
|
||||
ECHO ERROR at STEP 0: MACHINE not set
|
||||
ECHO ==============================================================
|
||||
ECHO.
|
||||
ECHO Usage: ATESYNC-DEBUG TS-27
|
||||
ECHO Usage: ATESYNCD TS-3R
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
@@ -39,7 +39,7 @@ IF EXIST C:\STARTNET.BAT CALL C:\STARTNET.BAT
|
||||
REM Verify T: drive is accessible
|
||||
IF NOT EXIST T:\*.* GOTO NET_FAILED
|
||||
|
||||
ECHO [OK] Network started
|
||||
ECHO (OK) Network started
|
||||
ECHO.
|
||||
ECHO Network Drives:
|
||||
ECHO T: = \\D2TESTNAS\test
|
||||
@@ -68,7 +68,7 @@ ECHO.
|
||||
GOTO END
|
||||
|
||||
:NET_FAILED
|
||||
ECHO [ERROR] Network drive mapping failed
|
||||
ECHO ERROR: Network drive mapping failed
|
||||
ECHO T: drive not accessible
|
||||
ECHO.
|
||||
ECHO To start network manually:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@ECHO OFF
|
||||
REM CTONW-DEBUG.BAT - Upload with diagnostic pauses
|
||||
REM Version: 1.0 - Debug version for recording
|
||||
REM CTONWD.BAT - Upload with diagnostic pauses (8.3 name)
|
||||
REM Version: 1.1 - Debug version for recording
|
||||
REM Last modified: 2026-01-21
|
||||
|
||||
ECHO.
|
||||
@@ -26,7 +26,7 @@ REM Create directories (ignore errors with >NUL)
|
||||
MD C:\BAT >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\CTONW.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.
|
||||
|
||||
ECHO [2/2] Installing AUTOEXEC.BAT...
|
||||
ECHO (2/2) Installing AUTOEXEC.BAT...
|
||||
REM Create AUTOEXEC.BAT with machine name
|
||||
ECHO @ECHO OFF > 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 GOTO READY >> 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 ECHO. >> C:\AUTOEXEC.BAT
|
||||
ECHO ECHO System Ready >> C:\AUTOEXEC.BAT
|
||||
@@ -75,7 +75,7 @@ GOTO END
|
||||
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name not provided
|
||||
ECHO ERROR: Machine name not provided
|
||||
ECHO.
|
||||
ECHO Usage: DEPLOY.BAT machine-name
|
||||
ECHO Example: DEPLOY.BAT TS-4R
|
||||
|
||||
@@ -36,7 +36,7 @@ REM ==================================================================
|
||||
REM STEP 1: Verify T: drive is accessible
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [STEP 1/5] Checking network drive...
|
||||
ECHO Step 1 of 5: Checking network drive...
|
||||
ECHO.
|
||||
|
||||
T: 2>NUL
|
||||
@@ -45,7 +45,7 @@ IF ERRORLEVEL 1 GOTO NO_T_DRIVE
|
||||
C:
|
||||
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.
|
||||
GOTO CHECK_DEPLOY_FILES
|
||||
@@ -53,7 +53,7 @@ GOTO CHECK_DEPLOY_FILES
|
||||
:NO_T_DRIVE
|
||||
C:
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO The network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -73,7 +73,7 @@ REM STEP 2: Verify deployment files exist on network
|
||||
REM ==================================================================
|
||||
|
||||
:CHECK_DEPLOY_FILES
|
||||
ECHO [STEP 2/5] Verifying deployment files...
|
||||
ECHO Step 2 of 5: Verifying deployment files...
|
||||
ECHO.
|
||||
|
||||
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\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.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MISSING_FILES
|
||||
ECHO [ERROR] Deployment files not found on network
|
||||
ECHO ERROR: Deployment files not found on network
|
||||
ECHO.
|
||||
ECHO Expected location: T:\COMMON\ProdSW\
|
||||
ECHO.
|
||||
@@ -109,7 +109,7 @@ REM STEP 3: Get machine name from user
|
||||
REM ==================================================================
|
||||
|
||||
:GET_MACHINE_NAME
|
||||
ECHO [STEP 3/5] Configure machine name...
|
||||
ECHO Step 3 of 5: Configure machine name...
|
||||
ECHO.
|
||||
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
|
||||
ECHO.
|
||||
@@ -122,7 +122,7 @@ REM Validate machine name was entered
|
||||
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Machine name: %MACHINE%
|
||||
ECHO (OK) Machine name: %MACHINE%
|
||||
ECHO.
|
||||
|
||||
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 GOTO MACHINE_FOLDER_ERROR
|
||||
|
||||
ECHO [OK] Machine folder ready: T:\%MACHINE%\
|
||||
ECHO (OK) Machine folder ready: T:\%MACHINE%\
|
||||
ECHO.
|
||||
GOTO BACKUP_AUTOEXEC
|
||||
|
||||
:MACHINE_NAME_EMPTY
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name cannot be empty
|
||||
ECHO ERROR: Machine name cannot be empty
|
||||
ECHO.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MACHINE_FOLDER_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create machine folder on network
|
||||
ECHO ERROR: Could not create machine folder on network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is writable
|
||||
@@ -157,7 +157,7 @@ REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
|
||||
REM ==================================================================
|
||||
|
||||
:BACKUP_AUTOEXEC
|
||||
ECHO [STEP 4/5] Installing update system files...
|
||||
ECHO Step 4 of 5: Installing update system files...
|
||||
ECHO.
|
||||
|
||||
REM Backup current AUTOEXEC.BAT
|
||||
@@ -165,9 +165,9 @@ IF EXIST C:\AUTOEXEC.BAT (
|
||||
ECHO Backing up AUTOEXEC.BAT...
|
||||
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
|
||||
IF ERRORLEVEL 1 GOTO BACKUP_ERROR
|
||||
ECHO [OK] Backup created: C:\AUTOEXEC.SAV
|
||||
ECHO (OK) Backup created: C:\AUTOEXEC.SAV
|
||||
) ELSE (
|
||||
ECHO [WARNING] No existing AUTOEXEC.BAT found
|
||||
ECHO WARNING: No existing AUTOEXEC.BAT found
|
||||
)
|
||||
ECHO.
|
||||
|
||||
@@ -180,32 +180,32 @@ ECHO Copying update system files to C:\BAT\...
|
||||
REM Copy batch files from network to local machine
|
||||
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] NWTOC.BAT
|
||||
ECHO (OK) NWTOC.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CTONW.BAT
|
||||
ECHO (OK) CTONW.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] UPDATE.BAT
|
||||
ECHO (OK) UPDATE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] STAGE.BAT
|
||||
ECHO (OK) STAGE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CHECKUPD.BAT
|
||||
ECHO (OK) CHECKUPD.BAT
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] All update system files installed
|
||||
ECHO (OK) All update system files installed
|
||||
ECHO.
|
||||
GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BACKUP_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not backup AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not backup AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Continue anyway? (Y/N)
|
||||
CHOICE /C:YN /N
|
||||
@@ -215,14 +215,14 @@ GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BAT_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create C:\BAT directory
|
||||
ECHO ERROR: Could not create C:\BAT directory
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
GOTO END
|
||||
|
||||
:COPY_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to copy files from network
|
||||
ECHO ERROR: Failed to copy files from network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is accessible
|
||||
@@ -237,7 +237,7 @@ REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
|
||||
REM ==================================================================
|
||||
|
||||
:UPDATE_AUTOEXEC
|
||||
ECHO [STEP 5/5] Updating AUTOEXEC.BAT...
|
||||
ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
|
||||
ECHO.
|
||||
|
||||
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
|
||||
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.
|
||||
GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:MACHINE_EXISTS
|
||||
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Current AUTOEXEC.BAT contains:
|
||||
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
|
||||
@@ -276,7 +276,7 @@ GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:AUTOEXEC_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not update AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not update AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO You must manually add this line to C:\AUTOEXEC.BAT:
|
||||
ECHO SET MACHINE=%MACHINE%
|
||||
|
||||
@@ -36,7 +36,7 @@ REM ==================================================================
|
||||
REM STEP 1: Verify T: drive is accessible
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [STEP 1/5] Checking network drive...
|
||||
ECHO Step 1 of 5: Checking network drive...
|
||||
ECHO.
|
||||
|
||||
T: 2>NUL
|
||||
@@ -45,7 +45,7 @@ IF ERRORLEVEL 1 GOTO NO_T_DRIVE
|
||||
C:
|
||||
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.
|
||||
GOTO CHECK_DEPLOY_FILES
|
||||
@@ -53,7 +53,7 @@ GOTO CHECK_DEPLOY_FILES
|
||||
:NO_T_DRIVE
|
||||
C:
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO The network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -73,7 +73,7 @@ REM STEP 2: Verify deployment files exist on network
|
||||
REM ==================================================================
|
||||
|
||||
:CHECK_DEPLOY_FILES
|
||||
ECHO [STEP 2/5] Verifying deployment files...
|
||||
ECHO Step 2 of 5: Verifying deployment files...
|
||||
ECHO.
|
||||
|
||||
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\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.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MISSING_FILES
|
||||
ECHO [ERROR] Deployment files not found on network
|
||||
ECHO ERROR: Deployment files not found on network
|
||||
ECHO.
|
||||
ECHO Expected location: T:\COMMON\ProdSW\
|
||||
ECHO.
|
||||
@@ -109,7 +109,7 @@ REM STEP 3: Get machine name from user
|
||||
REM ==================================================================
|
||||
|
||||
:GET_MACHINE_NAME
|
||||
ECHO [STEP 3/5] Configure machine name...
|
||||
ECHO Step 3 of 5: Configure machine name...
|
||||
ECHO.
|
||||
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
|
||||
ECHO.
|
||||
@@ -122,7 +122,7 @@ REM Validate machine name was entered
|
||||
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Machine name: %MACHINE%
|
||||
ECHO (OK) Machine name: %MACHINE%
|
||||
ECHO.
|
||||
|
||||
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 GOTO MACHINE_FOLDER_ERROR
|
||||
|
||||
ECHO [OK] Machine folder ready: T:\%MACHINE%\
|
||||
ECHO (OK) Machine folder ready: T:\%MACHINE%\
|
||||
ECHO.
|
||||
GOTO BACKUP_AUTOEXEC
|
||||
|
||||
:MACHINE_NAME_EMPTY
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name cannot be empty
|
||||
ECHO ERROR: Machine name cannot be empty
|
||||
ECHO.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MACHINE_FOLDER_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create machine folder on network
|
||||
ECHO ERROR: Could not create machine folder on network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is writable
|
||||
@@ -157,7 +157,7 @@ REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
|
||||
REM ==================================================================
|
||||
|
||||
:BACKUP_AUTOEXEC
|
||||
ECHO [STEP 4/5] Installing update system files...
|
||||
ECHO Step 4 of 5: Installing update system files...
|
||||
ECHO.
|
||||
|
||||
REM Backup current AUTOEXEC.BAT
|
||||
@@ -166,11 +166,11 @@ IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC_BACKUP
|
||||
ECHO Backing up AUTOEXEC.BAT...
|
||||
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
|
||||
IF ERRORLEVEL 1 GOTO BACKUP_ERROR
|
||||
ECHO [OK] Backup created: C:\AUTOEXEC.SAV
|
||||
ECHO (OK) Backup created: C:\AUTOEXEC.SAV
|
||||
GOTO AUTOEXEC_BACKUP_DONE
|
||||
|
||||
:NO_AUTOEXEC_BACKUP
|
||||
ECHO [WARNING] No existing AUTOEXEC.BAT found
|
||||
ECHO WARNING: No existing AUTOEXEC.BAT found
|
||||
|
||||
:AUTOEXEC_BACKUP_DONE
|
||||
ECHO.
|
||||
@@ -184,32 +184,32 @@ ECHO Copying update system files to C:\BAT\...
|
||||
REM Copy batch files from network to local machine
|
||||
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] NWTOC.BAT
|
||||
ECHO (OK) NWTOC.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CTONW.BAT
|
||||
ECHO (OK) CTONW.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] UPDATE.BAT
|
||||
ECHO (OK) UPDATE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] STAGE.BAT
|
||||
ECHO (OK) STAGE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CHECKUPD.BAT
|
||||
ECHO (OK) CHECKUPD.BAT
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] All update system files installed
|
||||
ECHO (OK) All update system files installed
|
||||
ECHO.
|
||||
GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BACKUP_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not backup AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not backup AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Continue anyway? (Y/N)
|
||||
CHOICE /C:YN /N
|
||||
@@ -219,14 +219,14 @@ GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BAT_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create C:\BAT directory
|
||||
ECHO ERROR: Could not create C:\BAT directory
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
GOTO END
|
||||
|
||||
:COPY_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to copy files from network
|
||||
ECHO ERROR: Failed to copy files from network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is accessible
|
||||
@@ -241,7 +241,7 @@ REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
|
||||
REM ==================================================================
|
||||
|
||||
:UPDATE_AUTOEXEC
|
||||
ECHO [STEP 5/5] Updating AUTOEXEC.BAT...
|
||||
ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
|
||||
ECHO.
|
||||
|
||||
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
|
||||
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.
|
||||
GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:MACHINE_EXISTS
|
||||
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Current AUTOEXEC.BAT contains:
|
||||
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
|
||||
@@ -282,7 +282,7 @@ GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:AUTOEXEC_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not update AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not update AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO You must manually add this line to C:\AUTOEXEC.BAT:
|
||||
ECHO SET MACHINE=%MACHINE%
|
||||
|
||||
@@ -36,7 +36,7 @@ REM ==================================================================
|
||||
REM STEP 1: Verify T: drive is accessible
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [STEP 1/5] Checking network drive...
|
||||
ECHO Step 1 of 5: Checking network drive...
|
||||
ECHO.
|
||||
|
||||
T: 2>NUL
|
||||
@@ -45,7 +45,7 @@ IF ERRORLEVEL 1 GOTO NO_T_DRIVE
|
||||
C:
|
||||
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.
|
||||
GOTO CHECK_DEPLOY_FILES
|
||||
@@ -53,7 +53,7 @@ GOTO CHECK_DEPLOY_FILES
|
||||
:NO_T_DRIVE
|
||||
C:
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO The network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -73,7 +73,7 @@ REM STEP 2: Verify deployment files exist on network
|
||||
REM ==================================================================
|
||||
|
||||
:CHECK_DEPLOY_FILES
|
||||
ECHO [STEP 2/5] Verifying deployment files...
|
||||
ECHO Step 2 of 5: Verifying deployment files...
|
||||
ECHO.
|
||||
|
||||
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\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.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MISSING_FILES
|
||||
ECHO [ERROR] Deployment files not found on network
|
||||
ECHO ERROR: Deployment files not found on network
|
||||
ECHO.
|
||||
ECHO Expected location: T:\COMMON\ProdSW\
|
||||
ECHO.
|
||||
@@ -109,7 +109,7 @@ REM STEP 3: Get machine name from user
|
||||
REM ==================================================================
|
||||
|
||||
:GET_MACHINE_NAME
|
||||
ECHO [STEP 3/5] Configure machine name...
|
||||
ECHO Step 3 of 5: Configure machine name...
|
||||
ECHO.
|
||||
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
|
||||
ECHO.
|
||||
@@ -122,7 +122,7 @@ REM Validate machine name was entered
|
||||
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Machine name: %MACHINE%
|
||||
ECHO (OK) Machine name: %MACHINE%
|
||||
ECHO.
|
||||
|
||||
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 GOTO MACHINE_FOLDER_ERROR
|
||||
|
||||
ECHO [OK] Machine folder ready: T:\%MACHINE%\
|
||||
ECHO (OK) Machine folder ready: T:\%MACHINE%\
|
||||
ECHO.
|
||||
GOTO BACKUP_AUTOEXEC
|
||||
|
||||
:MACHINE_NAME_EMPTY
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name cannot be empty
|
||||
ECHO ERROR: Machine name cannot be empty
|
||||
ECHO.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MACHINE_FOLDER_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create machine folder on network
|
||||
ECHO ERROR: Could not create machine folder on network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is writable
|
||||
@@ -157,7 +157,7 @@ REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
|
||||
REM ==================================================================
|
||||
|
||||
:BACKUP_AUTOEXEC
|
||||
ECHO [STEP 4/5] Installing update system files...
|
||||
ECHO Step 4 of 5: Installing update system files...
|
||||
ECHO.
|
||||
|
||||
REM Backup current AUTOEXEC.BAT
|
||||
@@ -166,11 +166,11 @@ IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC_BACKUP
|
||||
ECHO Backing up AUTOEXEC.BAT...
|
||||
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
|
||||
IF ERRORLEVEL 1 GOTO BACKUP_ERROR
|
||||
ECHO [OK] Backup created: C:\AUTOEXEC.SAV
|
||||
ECHO (OK) Backup created: C:\AUTOEXEC.SAV
|
||||
GOTO AUTOEXEC_BACKUP_DONE
|
||||
|
||||
:NO_AUTOEXEC_BACKUP
|
||||
ECHO [WARNING] No existing AUTOEXEC.BAT found
|
||||
ECHO WARNING: No existing AUTOEXEC.BAT found
|
||||
|
||||
:AUTOEXEC_BACKUP_DONE
|
||||
ECHO.
|
||||
@@ -184,32 +184,32 @@ ECHO Copying update system files to C:\BAT\...
|
||||
REM Copy batch files from network to local machine
|
||||
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] NWTOC.BAT
|
||||
ECHO (OK) NWTOC.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CTONW.BAT
|
||||
ECHO (OK) CTONW.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] UPDATE.BAT
|
||||
ECHO (OK) UPDATE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] STAGE.BAT
|
||||
ECHO (OK) STAGE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CHECKUPD.BAT
|
||||
ECHO (OK) CHECKUPD.BAT
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] All update system files installed
|
||||
ECHO (OK) All update system files installed
|
||||
ECHO.
|
||||
GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BACKUP_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not backup AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not backup AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Continue anyway? (Y/N)
|
||||
CHOICE /C:YN /N
|
||||
@@ -219,14 +219,14 @@ GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BAT_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create C:\BAT directory
|
||||
ECHO ERROR: Could not create C:\BAT directory
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
GOTO END
|
||||
|
||||
:COPY_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to copy files from network
|
||||
ECHO ERROR: Failed to copy files from network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is accessible
|
||||
@@ -241,7 +241,7 @@ REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
|
||||
REM ==================================================================
|
||||
|
||||
:UPDATE_AUTOEXEC
|
||||
ECHO [STEP 5/5] Updating AUTOEXEC.BAT...
|
||||
ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
|
||||
ECHO.
|
||||
|
||||
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
|
||||
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.
|
||||
GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:MACHINE_EXISTS
|
||||
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Current AUTOEXEC.BAT contains:
|
||||
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
|
||||
@@ -282,7 +282,7 @@ GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:AUTOEXEC_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not update AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not update AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO You must manually add this line to C:\AUTOEXEC.BAT:
|
||||
ECHO SET MACHINE=%MACHINE%
|
||||
|
||||
@@ -36,7 +36,7 @@ REM ==================================================================
|
||||
REM STEP 1: Verify T: drive is accessible
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [STEP 1/5] Checking network drive...
|
||||
ECHO Step 1 of 5: Checking network drive...
|
||||
ECHO.
|
||||
|
||||
T: 2>NUL
|
||||
@@ -45,7 +45,7 @@ IF ERRORLEVEL 1 GOTO NO_T_DRIVE
|
||||
C:
|
||||
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.
|
||||
GOTO CHECK_DEPLOY_FILES
|
||||
@@ -53,7 +53,7 @@ GOTO CHECK_DEPLOY_FILES
|
||||
:NO_T_DRIVE
|
||||
C:
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO The network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -73,7 +73,7 @@ REM STEP 2: Verify deployment files exist on network
|
||||
REM ==================================================================
|
||||
|
||||
:CHECK_DEPLOY_FILES
|
||||
ECHO [STEP 2/5] Verifying deployment files...
|
||||
ECHO Step 2 of 5: Verifying deployment files...
|
||||
ECHO.
|
||||
|
||||
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\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.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MISSING_FILES
|
||||
ECHO [ERROR] Deployment files not found on network
|
||||
ECHO ERROR: Deployment files not found on network
|
||||
ECHO.
|
||||
ECHO Expected location: T:\COMMON\ProdSW\
|
||||
ECHO.
|
||||
@@ -109,7 +109,7 @@ REM STEP 3: Get machine name from user
|
||||
REM ==================================================================
|
||||
|
||||
:GET_MACHINE_NAME
|
||||
ECHO [STEP 3/5] Configure machine name...
|
||||
ECHO Step 3 of 5: Configure machine name...
|
||||
ECHO.
|
||||
ECHO Enter this machine's name (e.g., TS-4R, TS-7A, TS-12B):
|
||||
ECHO.
|
||||
@@ -122,7 +122,7 @@ REM Validate machine name was entered
|
||||
IF "%MACHINE%"=="" GOTO MACHINE_NAME_EMPTY
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Machine name: %MACHINE%
|
||||
ECHO (OK) Machine name: %MACHINE%
|
||||
ECHO.
|
||||
|
||||
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 GOTO MACHINE_FOLDER_ERROR
|
||||
|
||||
ECHO [OK] Machine folder ready: T:\%MACHINE%\
|
||||
ECHO (OK) Machine folder ready: T:\%MACHINE%\
|
||||
ECHO.
|
||||
GOTO BACKUP_AUTOEXEC
|
||||
|
||||
:MACHINE_NAME_EMPTY
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name cannot be empty
|
||||
ECHO ERROR: Machine name cannot be empty
|
||||
ECHO.
|
||||
GOTO GET_MACHINE_NAME
|
||||
|
||||
:MACHINE_FOLDER_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create machine folder on network
|
||||
ECHO ERROR: Could not create machine folder on network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is writable
|
||||
@@ -157,7 +157,7 @@ REM STEP 4: Backup current AUTOEXEC.BAT and install batch files
|
||||
REM ==================================================================
|
||||
|
||||
:BACKUP_AUTOEXEC
|
||||
ECHO [STEP 4/5] Installing update system files...
|
||||
ECHO Step 4 of 5: Installing update system files...
|
||||
ECHO.
|
||||
|
||||
REM Backup current AUTOEXEC.BAT
|
||||
@@ -165,9 +165,9 @@ IF EXIST C:\AUTOEXEC.BAT (
|
||||
ECHO Backing up AUTOEXEC.BAT...
|
||||
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
|
||||
IF ERRORLEVEL 1 GOTO BACKUP_ERROR
|
||||
ECHO [OK] Backup created: C:\AUTOEXEC.SAV
|
||||
ECHO (OK) Backup created: C:\AUTOEXEC.SAV
|
||||
) ELSE (
|
||||
ECHO [WARNING] No existing AUTOEXEC.BAT found
|
||||
ECHO WARNING: No existing AUTOEXEC.BAT found
|
||||
)
|
||||
ECHO.
|
||||
|
||||
@@ -180,32 +180,32 @@ ECHO Copying update system files to C:\BAT\...
|
||||
REM Copy batch files from network to local machine
|
||||
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] NWTOC.BAT
|
||||
ECHO (OK) NWTOC.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CTONW.BAT
|
||||
ECHO (OK) CTONW.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] UPDATE.BAT
|
||||
ECHO (OK) UPDATE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] STAGE.BAT
|
||||
ECHO (OK) STAGE.BAT
|
||||
|
||||
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
|
||||
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
||||
ECHO [OK] CHECKUPD.BAT
|
||||
ECHO (OK) CHECKUPD.BAT
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] All update system files installed
|
||||
ECHO (OK) All update system files installed
|
||||
ECHO.
|
||||
GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BACKUP_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not backup AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not backup AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Continue anyway? (Y/N)
|
||||
CHOICE /C:YN /N
|
||||
@@ -215,14 +215,14 @@ GOTO UPDATE_AUTOEXEC
|
||||
|
||||
:BAT_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create C:\BAT directory
|
||||
ECHO ERROR: Could not create C:\BAT directory
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
GOTO END
|
||||
|
||||
:COPY_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to copy files from network
|
||||
ECHO ERROR: Failed to copy files from network
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - T: drive is accessible
|
||||
@@ -237,7 +237,7 @@ REM STEP 5: Update AUTOEXEC.BAT with MACHINE variable
|
||||
REM ==================================================================
|
||||
|
||||
:UPDATE_AUTOEXEC
|
||||
ECHO [STEP 5/5] Updating AUTOEXEC.BAT...
|
||||
ECHO Step 5 of 5: Updating AUTOEXEC.BAT...
|
||||
ECHO.
|
||||
|
||||
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
|
||||
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.
|
||||
GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:MACHINE_EXISTS
|
||||
ECHO [WARNING] MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO WARNING: MACHINE variable already exists in AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO Current AUTOEXEC.BAT contains:
|
||||
TYPE C:\AUTOEXEC.BAT | FIND "SET MACHINE="
|
||||
@@ -276,7 +276,7 @@ GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:AUTOEXEC_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not update AUTOEXEC.BAT
|
||||
ECHO ERROR: Could not update AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO You must manually add this line to C:\AUTOEXEC.BAT:
|
||||
ECHO SET MACHINE=%MACHINE%
|
||||
|
||||
29
projects/dataforth-dos/batch-files/DIAGBK.BAT
Normal file
29
projects/dataforth-dos/batch-files/DIAGBK.BAT
Normal 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.
|
||||
@@ -29,12 +29,12 @@ IF NOT EXIST C:\NET\*.* MD C:\NET
|
||||
REM Check for COMMON updates
|
||||
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
|
||||
ECHO Done
|
||||
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\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA
|
||||
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
|
||||
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
|
||||
ECHO Done
|
||||
ECHO.
|
||||
GOTO DONE
|
||||
|
||||
:SKIP_NET
|
||||
ECHO [3/3] No network updates
|
||||
ECHO (3/3) No network updates
|
||||
ECHO.
|
||||
|
||||
:DONE
|
||||
@@ -67,12 +67,12 @@ ECHO.
|
||||
GOTO END
|
||||
|
||||
:NO_COMMON
|
||||
ECHO [ERROR] T:\COMMON\ProdSW not found
|
||||
ECHO ERROR: T:\COMMON\ProdSW not found
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:NO_DRIVE
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO Run C:\STARTNET.BAT first
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@ECHO OFF
|
||||
REM NWTOC-DEBUG.BAT - Download with diagnostic pauses
|
||||
REM Version: 1.0 - Debug version for recording
|
||||
REM NWTOCD.BAT - Download with diagnostic pauses (8.3 name)
|
||||
REM Version: 1.1 - Debug version for recording
|
||||
REM Last modified: 2026-01-21
|
||||
|
||||
ECHO.
|
||||
@@ -35,7 +35,7 @@ REM ==================================================================
|
||||
REM Warn user
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [WARNING] This will replace your current system files:
|
||||
ECHO WARNING: This will replace your current system files:
|
||||
ECHO.
|
||||
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
|
||||
@@ -53,10 +53,10 @@ REM ==================================================================
|
||||
ECHO Creating backups...
|
||||
|
||||
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 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.
|
||||
|
||||
@@ -68,14 +68,14 @@ ECHO Applying updates...
|
||||
|
||||
REM Apply AUTOEXEC.NEW
|
||||
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 ERRORLEVEL 1 ECHO [ERROR] AUTOEXEC.BAT update failed
|
||||
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 GOTO UPDATE_ERROR
|
||||
|
||||
REM Apply CONFIG.NEW
|
||||
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 ERRORLEVEL 1 ECHO [ERROR] CONFIG.SYS update failed
|
||||
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 GOTO UPDATE_ERROR
|
||||
|
||||
ECHO.
|
||||
@@ -89,7 +89,7 @@ ECHO Cleaning up staging files...
|
||||
IF EXIST C:\AUTOEXEC.NEW DEL C:\AUTOEXEC.NEW
|
||||
IF EXIST C:\CONFIG.NEW DEL C:\CONFIG.NEW
|
||||
|
||||
ECHO [OK] Staging files deleted
|
||||
ECHO (OK) Staging files deleted
|
||||
ECHO.
|
||||
|
||||
REM ==================================================================
|
||||
@@ -126,7 +126,7 @@ REM ERROR HANDLERS
|
||||
REM ==================================================================
|
||||
|
||||
:NO_UPDATES
|
||||
ECHO [WARNING] No staged update files found
|
||||
ECHO WARNING: No staged update files found
|
||||
ECHO.
|
||||
ECHO Expected files:
|
||||
ECHO C:\AUTOEXEC.NEW (not found)
|
||||
@@ -140,7 +140,7 @@ GOTO END
|
||||
|
||||
:UPDATE_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Update failed
|
||||
ECHO ERROR: Update failed
|
||||
ECHO.
|
||||
ECHO Your system may be in an inconsistent state.
|
||||
ECHO.
|
||||
|
||||
@@ -30,8 +30,8 @@ ECHO ==============================================================
|
||||
ECHO Staging System File Updates
|
||||
ECHO ==============================================================
|
||||
|
||||
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 "%HASAUTO%"=="1" ECHO (STAGED) C:\AUTOEXEC.NEW ??? Will replace AUTOEXEC.BAT
|
||||
IF "%HASCONF%"=="1" ECHO (STAGED) C:\CONFIG.NEW ??? Will replace CONFIG.SYS
|
||||
ECHO ==============================================================
|
||||
ECHO.
|
||||
|
||||
@@ -39,7 +39,7 @@ REM ==================================================================
|
||||
REM STEP 2: Backup current AUTOEXEC.BAT
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [1/3] Backing up current system files...
|
||||
ECHO (1/3) Backing up current system files...
|
||||
|
||||
REM Check if AUTOEXEC.BAT exists
|
||||
IF NOT EXIST C:\AUTOEXEC.BAT GOTO NO_AUTOEXEC
|
||||
@@ -48,11 +48,11 @@ REM Create backup
|
||||
COPY C:\AUTOEXEC.BAT C:\AUTOEXEC.SAV >NUL
|
||||
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
|
||||
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.
|
||||
|
||||
@@ -60,7 +60,7 @@ REM ==================================================================
|
||||
REM STEP 3: Create REBOOT.BAT
|
||||
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
|
||||
IF NOT EXIST C:\BAT\NUL MD C:\BAT
|
||||
@@ -78,18 +78,18 @@ ECHO ECHO. >> C:\BAT\REBOOT.BAT
|
||||
ECHO. >> C:\BAT\REBOOT.BAT
|
||||
|
||||
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 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 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 DEL C:\AUTOEXEC.NEW >> C:\BAT\REBOOT.BAT
|
||||
IF "%HASAUTO%"=="1" ECHO ECHO. >> C:\BAT\REBOOT.BAT
|
||||
|
||||
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 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 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 DEL C:\CONFIG.NEW >> 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
|
||||
|
||||
ECHO [OK] C:\BAT\REBOOT.BAT created
|
||||
ECHO (OK) C:\BAT\REBOOT.BAT created
|
||||
ECHO.
|
||||
|
||||
REM ==================================================================
|
||||
REM STEP 4: Modify AUTOEXEC.BAT to call REBOOT.BAT once
|
||||
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
|
||||
ECHO @ECHO OFF > C:\AUTOEXEC.TMP
|
||||
@@ -139,7 +139,7 @@ IF ERRORLEVEL 1 GOTO MODIFY_ERROR
|
||||
REM Clean up temporary file
|
||||
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.
|
||||
|
||||
REM ==================================================================
|
||||
@@ -178,7 +178,7 @@ REM ==================================================================
|
||||
|
||||
:NO_UPDATES
|
||||
ECHO.
|
||||
ECHO [WARNING] No staged update files found
|
||||
ECHO WARNING: No staged update files found
|
||||
ECHO.
|
||||
ECHO Expected files:
|
||||
ECHO C:\AUTOEXEC.NEW (not found)
|
||||
@@ -191,7 +191,7 @@ GOTO END
|
||||
|
||||
:NO_AUTOEXEC
|
||||
ECHO.
|
||||
ECHO [ERROR] C:\AUTOEXEC.BAT not found
|
||||
ECHO ERROR: C:\AUTOEXEC.BAT not found
|
||||
ECHO.
|
||||
ECHO Cannot stage updates without existing AUTOEXEC.BAT
|
||||
ECHO.
|
||||
@@ -200,7 +200,7 @@ GOTO END
|
||||
|
||||
:BACKUP_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to create backup
|
||||
ECHO ERROR: Failed to create backup
|
||||
ECHO.
|
||||
ECHO Could not copy C:\AUTOEXEC.BAT to C:\AUTOEXEC.SAV
|
||||
ECHO.
|
||||
@@ -213,7 +213,7 @@ GOTO END
|
||||
|
||||
:CREATE_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to create C:\BAT\REBOOT.BAT
|
||||
ECHO ERROR: Failed to create C:\BAT\REBOOT.BAT
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - C:\BAT directory exists
|
||||
@@ -225,7 +225,7 @@ GOTO END
|
||||
|
||||
:MODIFY_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Failed to modify AUTOEXEC.BAT
|
||||
ECHO ERROR: Failed to modify AUTOEXEC.BAT
|
||||
ECHO.
|
||||
ECHO AUTOEXEC.BAT may be corrupted!
|
||||
ECHO.
|
||||
|
||||
@@ -16,7 +16,7 @@ NET START
|
||||
REM Check if NET START succeeded
|
||||
IF ERRORLEVEL 1 GOTO NET_START_FAILED
|
||||
|
||||
ECHO [OK] Network client started
|
||||
ECHO (OK) Network client started
|
||||
|
||||
REM ==================================================================
|
||||
REM STEP 2: Map network drives
|
||||
@@ -27,13 +27,13 @@ REM /YES = Don't prompt for confirmation
|
||||
NET USE T: \\D2TESTNAS\test /YES
|
||||
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
|
||||
NET USE X: \\D2TESTNAS\datasheets /YES
|
||||
IF ERRORLEVEL 1 GOTO X_DRIVE_FAILED
|
||||
|
||||
ECHO [OK] X: mapped to \\D2TESTNAS\datasheets
|
||||
ECHO (OK) X: mapped to \\D2TESTNAS\datasheets
|
||||
|
||||
GOTO END
|
||||
|
||||
@@ -42,7 +42,7 @@ REM ERROR HANDLERS
|
||||
REM ==================================================================
|
||||
|
||||
:NET_START_FAILED
|
||||
ECHO [ERROR] Network client failed to start
|
||||
ECHO ERROR: Network client failed to start
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - Network cable is connected
|
||||
@@ -52,7 +52,7 @@ ECHO.
|
||||
GOTO END
|
||||
|
||||
:T_DRIVE_FAILED
|
||||
ECHO [ERROR] Failed to map T: drive
|
||||
ECHO ERROR: Failed to map T: drive
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - Server \\D2TESTNAS is online
|
||||
@@ -63,7 +63,7 @@ ECHO.
|
||||
GOTO END
|
||||
|
||||
:X_DRIVE_FAILED
|
||||
ECHO [ERROR] Failed to map X: drive
|
||||
ECHO ERROR: Failed to map X: drive
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
ECHO - Server \\D2TESTNAS is online
|
||||
|
||||
@@ -18,7 +18,7 @@ IF NOT "%MACHINE%"=="" GOTO USE_ENV
|
||||
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name not specified
|
||||
ECHO ERROR: Machine name not specified
|
||||
ECHO.
|
||||
ECHO Usage: UPDATE machine-name
|
||||
ECHO Example: UPDATE TS-4R
|
||||
@@ -47,12 +47,12 @@ ECHO Checking network drive T:...
|
||||
REM DOS 6.22: Direct file test is most reliable
|
||||
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
|
||||
|
||||
ECHO [OK] T: drive accessible
|
||||
ECHO (OK) T: drive accessible
|
||||
GOTO START_BACKUP
|
||||
|
||||
:NO_T_DRIVE
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO Network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -87,7 +87,7 @@ IF NOT EXIST T:\%MACHINE%\BACKUP\NUL MD T:\%MACHINE%\BACKUP
|
||||
REM Check if backup directory was created successfully
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR
|
||||
|
||||
ECHO [OK] Backup directory ready
|
||||
ECHO (OK) Backup directory ready
|
||||
ECHO.
|
||||
|
||||
REM ==================================================================
|
||||
@@ -124,7 +124,7 @@ IF ERRORLEVEL 2 GOTO USER_ABORT
|
||||
IF ERRORLEVEL 1 GOTO NO_FILES
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Backup completed successfully
|
||||
ECHO (OK) Backup completed successfully
|
||||
ECHO.
|
||||
ECHO Files backed up to: T:\%MACHINE%\BACKUP
|
||||
GOTO END
|
||||
@@ -135,7 +135,7 @@ REM ==================================================================
|
||||
|
||||
:BACKUP_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create backup directory
|
||||
ECHO ERROR: Could not create backup directory
|
||||
ECHO Target: T:\%MACHINE%\BACKUP
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
@@ -148,7 +148,7 @@ GOTO END
|
||||
|
||||
:DISK_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Disk write error
|
||||
ECHO ERROR: Disk write error
|
||||
ECHO.
|
||||
ECHO Possible causes:
|
||||
ECHO - Target drive is full
|
||||
@@ -160,7 +160,7 @@ GOTO END
|
||||
|
||||
:INIT_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Backup initialization failed
|
||||
ECHO ERROR: Backup initialization failed
|
||||
ECHO.
|
||||
ECHO Possible causes:
|
||||
ECHO - Insufficient memory
|
||||
@@ -172,7 +172,7 @@ GOTO END
|
||||
|
||||
:USER_ABORT
|
||||
ECHO.
|
||||
ECHO [WARNING] Backup terminated by user (Ctrl+C)
|
||||
ECHO WARNING: Backup terminated by user (Ctrl+C)
|
||||
ECHO.
|
||||
ECHO Backup may be incomplete!
|
||||
ECHO.
|
||||
@@ -181,7 +181,7 @@ GOTO END
|
||||
|
||||
:NO_FILES
|
||||
ECHO.
|
||||
ECHO [WARNING] No files found to copy
|
||||
ECHO WARNING: No files found to copy
|
||||
ECHO.
|
||||
ECHO This may indicate:
|
||||
ECHO - All files are already up to date (/D option)
|
||||
|
||||
32
projects/dataforth-dos/batch-files/deploy-to-nas.sh
Normal file
32
projects/dataforth-dos/batch-files/deploy-to-nas.sh
Normal 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"
|
||||
106
projects/dataforth-dos/batch-files/validate-dos.sh
Executable file
106
projects/dataforth-dos/batch-files/validate-dos.sh
Executable 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
|
||||
Reference in New Issue
Block a user