190 lines
5.3 KiB
Batchfile
190 lines
5.3 KiB
Batchfile
@ECHO OFF
|
|
REM One-time deployment script for DOS Update System
|
|
REM Installs automatic update system on DOS 6.22 machines
|
|
REM Usage: T:\COMMON\ProdSW\DEPLOY.BAT machine-name
|
|
REM Example: T:\COMMON\ProdSW\DEPLOY.BAT TS-4R
|
|
REM Version: 2.0 - Simplified deployment
|
|
REM Last modified: 2026-01-19
|
|
|
|
CLS
|
|
|
|
REM Check machine name parameter provided
|
|
IF "%1"=="" GOTO NO_MACHINE_NAME
|
|
|
|
REM Save machine name to variable
|
|
SET MACHINE=%1
|
|
|
|
ECHO ==============================================================
|
|
ECHO DOS Update System - Deployment
|
|
ECHO ==============================================================
|
|
ECHO Machine: %MACHINE%
|
|
ECHO ==============================================================
|
|
ECHO.
|
|
ECHO Installing automatic update system...
|
|
ECHO.
|
|
ECHO Files to install:
|
|
ECHO - AUTOEXEC.BAT (startup configuration)
|
|
ECHO - NWTOC.BAT (download updates)
|
|
ECHO - CTONW.BAT (upload test data)
|
|
ECHO - UPDATE.BAT (full backup)
|
|
ECHO - CHECKUPD.BAT (check updates)
|
|
ECHO - STAGE.BAT (system file updates)
|
|
ECHO - REBOOT.BAT (apply staged updates)
|
|
ECHO.
|
|
PAUSE
|
|
ECHO.
|
|
|
|
REM Create C:\BAT directory
|
|
ECHO [1/3] Creating C:\BAT directory...
|
|
IF NOT EXIST C:\BAT\*.* MD C:\BAT
|
|
IF NOT EXIST C:\BAT\*.* GOTO BAT_DIR_ERROR
|
|
ECHO [OK] C:\BAT directory ready
|
|
ECHO.
|
|
|
|
REM Copy batch files from network to local machine
|
|
ECHO [2/3] Copying batch files to C:\BAT...
|
|
XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y
|
|
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
|
ECHO [OK] NWTOC.BAT
|
|
|
|
XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y
|
|
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
|
ECHO [OK] CTONW.BAT
|
|
|
|
XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y
|
|
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
|
ECHO [OK] UPDATE.BAT
|
|
|
|
XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y
|
|
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
|
ECHO [OK] CHECKUPD.BAT
|
|
|
|
XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y
|
|
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
|
ECHO [OK] STAGE.BAT
|
|
|
|
XCOPY T:\COMMON\ProdSW\REBOOT.BAT C:\BAT\ /Y
|
|
IF ERRORLEVEL 4 GOTO COPY_ERROR
|
|
ECHO [OK] REBOOT.BAT
|
|
|
|
ECHO [OK] All batch files installed
|
|
ECHO.
|
|
|
|
REM Install AUTOEXEC.BAT with machine name
|
|
ECHO [3/3] Installing AUTOEXEC.BAT...
|
|
|
|
REM Copy template and modify machine name
|
|
COPY T:\COMMON\ProdSW\AUTOEXEC.BAT C:\AUTOEXEC.TMP /Y >NUL
|
|
IF ERRORLEVEL 1 GOTO AUTOEXEC_ERROR
|
|
|
|
REM Create new AUTOEXEC with correct machine name
|
|
REM Filter out existing SET MACHINE line and rebuild with new one
|
|
ECHO @ECHO OFF > C:\AUTOEXEC.BAT
|
|
TYPE C:\AUTOEXEC.TMP | FIND /V "@ECHO OFF" | FIND /V "SET MACHINE=" > C:\AUTOEXEC.TM1
|
|
ECHO REM Dataforth Test Machine Startup - DOS 6.22 >> C:\AUTOEXEC.BAT
|
|
ECHO REM Automatically runs after CONFIG.SYS during boot >> C:\AUTOEXEC.BAT
|
|
ECHO REM Version: 3.0 - Auto-update system integrated >> C:\AUTOEXEC.BAT
|
|
ECHO REM Last modified: 2026-01-19 >> C:\AUTOEXEC.BAT
|
|
ECHO. >> C:\AUTOEXEC.BAT
|
|
ECHO REM Set machine identity (configured by DEPLOY.BAT) >> C:\AUTOEXEC.BAT
|
|
ECHO SET MACHINE=%MACHINE% >> C:\AUTOEXEC.BAT
|
|
ECHO. >> C:\AUTOEXEC.BAT
|
|
REM Filter out header comment lines using temp files (DOS 6.22 compatible)
|
|
TYPE C:\AUTOEXEC.TM1 | FIND /V "REM Dataforth" > C:\AUTOEXEC.TM2
|
|
TYPE C:\AUTOEXEC.TM2 | FIND /V "REM Automatically" > C:\AUTOEXEC.TM3
|
|
TYPE C:\AUTOEXEC.TM3 | FIND /V "REM Version:" > C:\AUTOEXEC.TM4
|
|
TYPE C:\AUTOEXEC.TM4 | FIND /V "REM Last modified" > C:\AUTOEXEC.TM5
|
|
TYPE C:\AUTOEXEC.TM5 | FIND /V "REM Set machine identity" >> C:\AUTOEXEC.BAT
|
|
|
|
REM Clean up temp files
|
|
DEL C:\AUTOEXEC.TMP
|
|
DEL C:\AUTOEXEC.TM1
|
|
DEL C:\AUTOEXEC.TM2
|
|
DEL C:\AUTOEXEC.TM3
|
|
DEL C:\AUTOEXEC.TM4
|
|
DEL C:\AUTOEXEC.TM5
|
|
|
|
ECHO [OK] AUTOEXEC.BAT installed with MACHINE=%MACHINE%
|
|
ECHO.
|
|
|
|
REM Create machine folder on network for backups
|
|
IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
|
|
IF NOT EXIST T:\%MACHINE%\*.* GOTO MACHINE_FOLDER_WARNING
|
|
ECHO [OK] Network backup folder created: T:\%MACHINE%
|
|
ECHO.
|
|
GOTO DEPLOYMENT_COMPLETE
|
|
|
|
:MACHINE_FOLDER_WARNING
|
|
ECHO [WARNING] Could not create T:\%MACHINE% folder
|
|
ECHO Backups will not work until this folder exists
|
|
ECHO.
|
|
|
|
:DEPLOYMENT_COMPLETE
|
|
CLS
|
|
ECHO ==============================================================
|
|
ECHO Deployment Complete!
|
|
ECHO ==============================================================
|
|
ECHO.
|
|
ECHO Machine: %MACHINE%
|
|
ECHO.
|
|
ECHO The automatic update system is now installed.
|
|
ECHO.
|
|
ECHO What happens on next reboot:
|
|
ECHO 1. Network client starts (C:\STARTNET.BAT)
|
|
ECHO 2. Software updates download automatically (NWTOC)
|
|
ECHO 3. Test data uploads automatically (CTONW)
|
|
ECHO 4. System ready for testing
|
|
ECHO.
|
|
ECHO ==============================================================
|
|
ECHO REBOOT NOW
|
|
ECHO ==============================================================
|
|
ECHO.
|
|
ECHO Press Ctrl+Alt+Del to reboot
|
|
ECHO.
|
|
ECHO After reboot, the system will be fully operational.
|
|
ECHO.
|
|
PAUSE
|
|
GOTO END
|
|
|
|
:NO_MACHINE_NAME
|
|
ECHO.
|
|
ECHO [ERROR] Machine name not provided
|
|
ECHO.
|
|
ECHO Usage: DEPLOY.BAT machine-name
|
|
ECHO Example: DEPLOY.BAT TS-4R
|
|
ECHO.
|
|
ECHO Machine name must match network folder (T:\machine-name\)
|
|
ECHO.
|
|
PAUSE
|
|
GOTO END
|
|
|
|
:BAT_DIR_ERROR
|
|
ECHO.
|
|
ECHO [ERROR] Could not create C:\BAT directory
|
|
ECHO Insufficient permissions or disk full
|
|
ECHO.
|
|
PAUSE
|
|
GOTO END
|
|
|
|
:COPY_ERROR
|
|
ECHO.
|
|
ECHO [ERROR] Failed to copy files from network
|
|
ECHO.
|
|
ECHO Check: T: drive accessible, C: drive has space
|
|
ECHO.
|
|
PAUSE
|
|
GOTO END
|
|
|
|
:AUTOEXEC_ERROR
|
|
ECHO.
|
|
ECHO [ERROR] Could not copy AUTOEXEC.BAT template
|
|
ECHO.
|
|
ECHO Verify T:\COMMON\ProdSW\AUTOEXEC.BAT exists
|
|
ECHO.
|
|
PAUSE
|
|
GOTO END
|
|
|
|
:END
|
|
REM Clean up environment variable
|
|
SET MACHINE=
|