Complete project organization: move all DOS files to projects/dataforth-dos, create client folders, update Claude config
This commit is contained in:
189
projects/dataforth-dos/batch-files/DEPLOY.BAT
Normal file
189
projects/dataforth-dos/batch-files/DEPLOY.BAT
Normal file
@@ -0,0 +1,189 @@
|
||||
@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=
|
||||
Reference in New Issue
Block a user