Complete project organization: move all DOS files to projects/dataforth-dos, create client folders, update Claude config

This commit is contained in:
2026-01-20 16:02:58 -07:00
parent 2cb4cd1006
commit 4efceab2e3
87 changed files with 3653 additions and 111 deletions

View File

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

View File

@@ -0,0 +1,222 @@
@ECHO OFF
REM CHECKUPD.BAT - Check for available updates without applying them
REM Quick status check to see if network has newer files
REM
REM Usage: CHECKUPD
REM
REM Checks these sources:
REM T:\COMMON\ProdSW\*.bat
REM T:\%MACHINE%\ProdSW\*.*
REM T:\COMMON\DOS\*.NEW
REM
REM Version: 1.3 - Fixed directory checks (use *.* not \NUL for DOS 6.22)
REM Last modified: 2026-01-20
REM ==================================================================
REM STEP 1: Verify machine name is set
REM ==================================================================
IF NOT "%MACHINE%"=="" GOTO CHECK_DRIVE
:NO_MACHINE
ECHO.
ECHO [ERROR] MACHINE variable not set
ECHO.
ECHO Set MACHINE in AUTOEXEC.BAT:
ECHO SET MACHINE=TS-4R
ECHO.
PAUSE
GOTO END
REM ==================================================================
REM STEP 2: Verify T: drive is accessible
REM ==================================================================
:CHECK_DRIVE
REM Verify T: drive is accessible
REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
GOTO START_CHECK
:NO_T_DRIVE
C:
ECHO.
ECHO [ERROR] T: drive not available
ECHO.
ECHO Run: C:\STARTNET.BAT
ECHO.
PAUSE
GOTO END
REM ==================================================================
REM STEP 3: Display check banner
REM ==================================================================
:START_CHECK
ECHO.
ECHO ==============================================================
ECHO Update Check: %MACHINE%
ECHO ==============================================================
ECHO.
REM Initialize flags (no counters - not critical for functionality)
SET COMMON=
SET MACHINEFILES=
SET SYSFILE=
REM ==================================================================
REM STEP 4: Check COMMON batch files
REM ==================================================================
ECHO [1/3] Checking T:\COMMON\ProdSW for batch file updates...
REM DOS 6.22: Check for files, not directory with \NUL
IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON
REM Check for files on network
FOR %%F IN (T:\COMMON\ProdSW\*.BAT) DO CALL :CHECK_COMMON_FILE %%F
IF "%COMMON%"=="" ECHO [OK] No updates in COMMON
IF NOT "%COMMON%"=="" ECHO [FOUND] Updates available in COMMON
ECHO.
GOTO CHECK_MACHINE
:NO_COMMON
ECHO [SKIP] T:\COMMON\ProdSW not found
ECHO.
REM ==================================================================
REM STEP 5: Check machine-specific files
REM ==================================================================
:CHECK_MACHINE
ECHO [2/3] Checking T:\%MACHINE%\ProdSW for machine-specific updates...
REM DOS 6.22: Check for files, not directory with \NUL
IF NOT EXIST T:\%MACHINE%\ProdSW\*.* GOTO NO_MACHINE_DIR
REM Check for any files (BAT, EXE, DAT)
FOR %%F IN (T:\%MACHINE%\ProdSW\*.*) DO CALL :COUNT_FILE
IF "%MACHINEFILES%"=="" ECHO [OK] No updates for %MACHINE%
IF NOT "%MACHINEFILES%"=="" ECHO [FOUND] Updates available for %MACHINE%
ECHO.
GOTO CHECK_SYSTEM
:NO_MACHINE_DIR
ECHO [SKIP] T:\%MACHINE%\ProdSW not found
ECHO.
REM ==================================================================
REM STEP 6: Check system file updates
REM ==================================================================
:CHECK_SYSTEM
ECHO [3/3] Checking T:\COMMON\DOS for system file updates...
REM DOS 6.22: Check for files, not directory with \NUL
IF NOT EXIST T:\COMMON\DOS\*.* GOTO NO_DOS_DIR
REM Check for .NEW files
IF EXIST T:\COMMON\DOS\AUTOEXEC.NEW SET SYSFILE=FOUND
IF EXIST T:\COMMON\DOS\AUTOEXEC.NEW ECHO [FOUND] AUTOEXEC.NEW (system reboot required)
IF EXIST T:\COMMON\DOS\CONFIG.NEW SET SYSFILE=FOUND
IF EXIST T:\COMMON\DOS\CONFIG.NEW ECHO [FOUND] CONFIG.NEW (system reboot required)
IF "%SYSFILE%"=="" ECHO [OK] No system file updates
ECHO.
GOTO SHOW_SUMMARY
:NO_DOS_DIR
ECHO [SKIP] T:\COMMON\DOS not found
ECHO.
REM ==================================================================
REM STEP 7: Show summary and recommendations
REM ==================================================================
:SHOW_SUMMARY
REM Determine if any updates found
SET HASUPDATES=
IF NOT "%COMMON%"=="" SET HASUPDATES=YES
IF NOT "%MACHINEFILES%"=="" SET HASUPDATES=YES
IF NOT "%SYSFILE%"=="" SET HASUPDATES=YES
ECHO ==============================================================
ECHO Update Summary
ECHO ==============================================================
ECHO.
ECHO Available updates:
IF NOT "%COMMON%"=="" ECHO [FOUND] Common batch files
IF "%COMMON%"=="" ECHO [OK] Common batch files
IF NOT "%MACHINEFILES%"=="" ECHO [FOUND] Machine-specific files
IF "%MACHINEFILES%"=="" ECHO [OK] Machine-specific files
IF NOT "%SYSFILE%"=="" ECHO [FOUND] System files
IF "%SYSFILE%"=="" ECHO [OK] System files
ECHO.
REM Provide recommendation
IF "%HASUPDATES%"=="" GOTO NO_UPDATES_AVAILABLE
ECHO Recommendation:
ECHO Run NWTOC to download and install updates
ECHO.
IF NOT "%SYSFILE%"=="" ECHO [WARNING] System file updates will require reboot
IF NOT "%SYSFILE%"=="" ECHO.
GOTO END
:NO_UPDATES_AVAILABLE
ECHO Status: All files are up to date
ECHO.
GOTO END
REM ==================================================================
REM HELPER SUBROUTINES
REM ==================================================================
:CHECK_COMMON_FILE
REM Check if network file is newer than local file
REM %1 = network file path (e.g., T:\COMMON\ProdSW\NWTOC.BAT)
REM Extract filename from path
SET NETFILE=%1
SET FILENAME=%~nx1
REM Check if local file exists
IF NOT EXIST C:\BAT\%FILENAME% SET COMMON=FOUND
IF NOT EXIST C:\BAT\%FILENAME% GOTO CHECK_COMMON_DONE
REM Both files exist - network file available
REM NOTE: DOS 6.22 cannot easily compare file dates
REM We just check if network file exists (already confirmed above)
SET COMMON=FOUND
:CHECK_COMMON_DONE
GOTO END_SUBROUTINE
:COUNT_FILE
REM Flag that machine-specific files exist
SET MACHINEFILES=FOUND
GOTO END_SUBROUTINE
:END_SUBROUTINE
REM Return point for all subroutines (replaces :EOF)
REM ==================================================================
REM CLEANUP AND EXIT
REM ==================================================================
:END
REM Clean up environment variables
SET COMMON=
SET MACHINEFILES=
SET SYSFILE=
SET HASUPDATES=
SET NETFILE=
SET FILENAME=

View File

@@ -0,0 +1,268 @@
@ECHO OFF
REM Computer to Network - Upload local changes and test data to network
REM Programs: C:\BAT -> T:\COMMON\ProdSW or T:\%MACHINE%\ProdSW
REM Test data: C:\ATE -> T:\%MACHINE%\LOGS (for database import)
REM Version: 2.1 - Fixed drive test for DOS 6.22 reliability
REM Last modified: 2026-01-20
REM Verify MACHINE environment variable is set
IF NOT "%MACHINE%"=="" GOTO CHECK_DRIVE
ECHO.
ECHO [ERROR] MACHINE variable not set
ECHO.
ECHO MACHINE must be set in AUTOEXEC.BAT
ECHO Run DEPLOY.BAT to configure this machine
ECHO.
PAUSE
GOTO END
:CHECK_DRIVE
REM Verify T: drive is accessible
REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
GOTO CHECK_TARGET
:NO_T_DRIVE
C:
ECHO.
ECHO [ERROR] T: drive not available
ECHO.
ECHO Network drive must be mapped to \\D2TESTNAS\test
ECHO Run: C:\STARTNET.BAT
ECHO.
PAUSE
GOTO END
:CHECK_TARGET
REM Default target is machine-specific
SET TARGET=MACHINE
SET TARGETDIR=T:\%MACHINE%\ProdSW
SET LOGSDIR=T:\%MACHINE%\LOGS
REM Check for COMMON parameter
IF "%1"=="COMMON" SET TARGET=COMMON
IF "%1"=="common" SET TARGET=COMMON
IF "%1"=="Common" SET TARGET=COMMON
IF "%TARGET%"=="COMMON" SET TARGETDIR=T:\COMMON\ProdSW
REM Confirm COMMON upload (affects all machines)
IF NOT "%TARGET%"=="COMMON" GOTO DISPLAY_BANNER
ECHO.
ECHO ==============================================================
ECHO [WARNING] COMMON Upload Confirmation
ECHO ==============================================================
ECHO.
ECHO You are about to upload files to COMMON location
ECHO This will affect ALL DOS machines at Dataforth
ECHO.
ECHO Other machines will receive these files on next reboot
ECHO.
ECHO Continue? (Y/N)
ECHO.
REM Wait for user input (DOS 6.22 compatible)
CHOICE /C:YN /N
IF ERRORLEVEL 2 GOTO UPLOAD_CANCELLED
IF ERRORLEVEL 1 GOTO DISPLAY_BANNER
:UPLOAD_CANCELLED
ECHO.
ECHO [INFO] Upload cancelled
ECHO.
ECHO To upload to machine-specific location, run: CTONW
ECHO.
PAUSE
GOTO END
:DISPLAY_BANNER
ECHO.
ECHO ==============================================================
ECHO Upload: %MACHINE% to Network
ECHO ==============================================================
ECHO Source: C:\BAT, C:\ATE
IF "%TARGET%"=="COMMON" ECHO Target: %TARGETDIR%
IF "%TARGET%"=="MACHINE" ECHO Targets: %TARGETDIR% (programs)
IF "%TARGET%"=="MACHINE" ECHO %LOGSDIR% (test data)
ECHO Target type: %TARGET%
ECHO ==============================================================
ECHO.
REM Verify source directories exist
IF NOT EXIST C:\BAT\*.* GOTO NO_BAT_DIR
GOTO CHECK_TARGET_DIR
:NO_BAT_DIR
ECHO [ERROR] C:\BAT directory not found
ECHO No files to upload
ECHO.
PAUSE
GOTO END
:CHECK_TARGET_DIR
REM Create machine directory if uploading to machine-specific location
IF "%TARGET%"=="MACHINE" IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
REM Create ProdSW directory
IF NOT EXIST %TARGETDIR%\*.* MD %TARGETDIR%
REM Verify ProdSW directory was created
IF NOT EXIST %TARGETDIR%\*.* GOTO TARGET_DIR_ERROR
ECHO [OK] Target directory ready: %TARGETDIR%
REM Create LOGS directory for machine-specific uploads
IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\*.* MD %LOGSDIR%
IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\*.* GOTO LOGS_DIR_ERROR
IF "%TARGET%"=="MACHINE" ECHO [OK] Logs directory ready: %LOGSDIR%
ECHO.
:UPLOAD_BATCH_FILES
ECHO [1/3] Uploading batch files from C:\BAT...
REM Backup existing files on network before overwriting
ECHO Creating backups on network (.BAK files)...
FOR %%F IN (%TARGETDIR%\*.BAT) DO COPY %%F %%~dpnF.BAK >NUL 2>NUL
REM Copy batch files to network
ECHO Copying files to %TARGETDIR%...
XCOPY C:\BAT\*.BAT %TARGETDIR%\ /Y
IF ERRORLEVEL 4 GOTO UPLOAD_ERROR_INIT
IF ERRORLEVEL 2 GOTO UPLOAD_ERROR_USER
IF ERRORLEVEL 1 ECHO [WARNING] No batch files found in C:\BAT
IF NOT ERRORLEVEL 1 ECHO [OK] Batch files uploaded
ECHO.
:UPLOAD_PROGRAMS
REM Skip programs for COMMON target (batch files only)
IF "%TARGET%"=="COMMON" GOTO SKIP_PROGRAMS
ECHO [2/3] Uploading programs and config from C:\ATE...
REM Check if ATE directory exists
IF NOT EXIST C:\ATE\*.* GOTO NO_ATE_DIR
REM Copy programs (.EXE, .BAT, .CFG) - exclude DAT files (they go to LOGS)
ECHO Copying programs to %TARGETDIR%...
XCOPY C:\ATE\*.EXE %TARGETDIR%\ /S /Y >NUL 2>NUL
XCOPY C:\ATE\*.BAT %TARGETDIR%\ /S /Y >NUL 2>NUL
XCOPY C:\ATE\*.CFG %TARGETDIR%\ /S /Y >NUL 2>NUL
XCOPY C:\ATE\*.TXT %TARGETDIR%\ /S /Y >NUL 2>NUL
ECHO [OK] Programs uploaded to ProdSW
ECHO.
GOTO UPLOAD_TEST_DATA
:NO_ATE_DIR
ECHO [INFO] C:\ATE directory not found
ECHO Only batch files were uploaded
GOTO SKIP_TEST_DATA
:SKIP_PROGRAMS
ECHO [2/3] Skipping programs/data (COMMON target only gets batch files)
ECHO.
GOTO SKIP_TEST_DATA
:UPLOAD_TEST_DATA
ECHO [3/3] Uploading test data to LOGS...
REM Create log subdirectories
IF NOT EXIST %LOGSDIR%\8BLOG\*.* MD %LOGSDIR%\8BLOG
IF NOT EXIST %LOGSDIR%\DSCLOG\*.* MD %LOGSDIR%\DSCLOG
IF NOT EXIST %LOGSDIR%\HVLOG\*.* MD %LOGSDIR%\HVLOG
IF NOT EXIST %LOGSDIR%\PWRLOG\*.* MD %LOGSDIR%\PWRLOG
IF NOT EXIST %LOGSDIR%\RMSLOG\*.* MD %LOGSDIR%\RMSLOG
IF NOT EXIST %LOGSDIR%\7BLOG\*.* MD %LOGSDIR%\7BLOG
REM Upload test data files to appropriate log folders
ECHO Uploading test data files...
REM 8-channel data: 8BDATA -> 8BLOG
IF EXIST C:\ATE\8BDATA\*.* XCOPY C:\ATE\8BDATA\*.DAT %LOGSDIR%\8BLOG\ /Y >NUL 2>NUL
REM DSC data: DSCDATA -> DSCLOG
IF EXIST C:\ATE\DSCDATA\*.* XCOPY C:\ATE\DSCDATA\*.DAT %LOGSDIR%\DSCLOG\ /Y >NUL 2>NUL
REM HV data: HVDATA -> HVLOG
IF EXIST C:\ATE\HVDATA\*.* XCOPY C:\ATE\HVDATA\*.DAT %LOGSDIR%\HVLOG\ /Y >NUL 2>NUL
REM Power data: PWRDATA -> PWRLOG
IF EXIST C:\ATE\PWRDATA\*.* XCOPY C:\ATE\PWRDATA\*.DAT %LOGSDIR%\PWRLOG\ /Y >NUL 2>NUL
REM RMS data: RMSDATA -> RMSLOG
IF EXIST C:\ATE\RMSDATA\*.* XCOPY C:\ATE\RMSDATA\*.DAT %LOGSDIR%\RMSLOG\ /Y >NUL 2>NUL
REM 7-channel data: 7BDATA -> 7BLOG
IF EXIST C:\ATE\7BDATA\*.* XCOPY C:\ATE\7BDATA\*.DAT %LOGSDIR%\7BLOG\ /Y >NUL 2>NUL
ECHO [OK] Test data uploaded to LOGS (for database import)
GOTO UPLOAD_COMPLETE
:SKIP_TEST_DATA
REM No test data upload for COMMON target
GOTO UPLOAD_COMPLETE
:UPLOAD_COMPLETE
ECHO ==============================================================
ECHO Upload Complete
ECHO ==============================================================
ECHO.
ECHO Files uploaded to:
ECHO %TARGETDIR% (software/config)
IF "%TARGET%"=="MACHINE" ECHO %LOGSDIR% (test data for database import)
ECHO.
IF "%TARGET%"=="COMMON" ECHO [WARNING] Files uploaded to COMMON - will affect ALL machines
IF "%TARGET%"=="COMMON" ECHO Other machines will receive these files on next reboot
ECHO.
ECHO Backup files (.BAK) created on network
ECHO.
IF "%TARGET%"=="MACHINE" ECHO To share these files with all machines, run: CTONW COMMON
ECHO.
GOTO END
:TARGET_DIR_ERROR
ECHO.
ECHO [ERROR] Could not create target directory
ECHO Target: %TARGETDIR%
ECHO.
ECHO Check: T: drive writable, sufficient disk space, stable network
ECHO.
PAUSE
GOTO END
:LOGS_DIR_ERROR
ECHO.
ECHO [ERROR] Could not create LOGS directory
ECHO Target: %LOGSDIR%
ECHO.
ECHO Check: T: drive writable, sufficient disk space, stable network
ECHO.
PAUSE
GOTO END
:UPLOAD_ERROR_INIT
ECHO.
ECHO [ERROR] Upload initialization failed
ECHO Possible causes: Insufficient memory, invalid path, or drive not accessible
ECHO.
PAUSE
GOTO END
:UPLOAD_ERROR_USER
ECHO.
ECHO [ERROR] Upload terminated by user (Ctrl+C)
ECHO Upload may be incomplete - run CTONW again
ECHO.
PAUSE
GOTO END
:END
REM Clean up environment variables
SET TARGET=
SET TARGETDIR=
SET LOGSDIR=

View File

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

View 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=

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,187 @@
@ECHO OFF
REM DOSTEST.BAT - Test DOS batch file deployment
REM Run this on the DOS machine after deploying new files
REM Version: 1.1 - Fixed drive test for DOS 6.22 reliability
REM Last modified: 2026-01-20
ECHO.
ECHO ==============================================================
ECHO DOS 6.22 Configuration Test Script
ECHO ==============================================================
ECHO.
REM ==================================================================
REM TEST 1: Check MACHINE variable
REM ==================================================================
ECHO [TEST 1] Checking MACHINE variable...
IF "%MACHINE%"=="" GOTO TEST1_FAIL
ECHO [OK] MACHINE=%MACHINE%
GOTO TEST2
:TEST1_FAIL
ECHO [FAIL] MACHINE variable not set
ECHO Fix: Add "SET MACHINE=TS-4R" to C:\AUTOEXEC.BAT
ECHO.
PAUSE
GOTO TEST2
REM ==================================================================
REM TEST 2: Check required files exist
REM ==================================================================
:TEST2
ECHO.
ECHO [TEST 2] Checking required files...
IF NOT EXIST C:\AUTOEXEC.BAT ECHO [FAIL] C:\AUTOEXEC.BAT missing
IF EXIST C:\AUTOEXEC.BAT ECHO [OK] C:\AUTOEXEC.BAT exists
IF NOT EXIST C:\STARTNET.BAT ECHO [FAIL] C:\STARTNET.BAT missing
IF EXIST C:\STARTNET.BAT ECHO [OK] C:\STARTNET.BAT exists
IF NOT EXIST C:\BATCH\UPDATE.BAT ECHO [FAIL] C:\BATCH\UPDATE.BAT missing
IF EXIST C:\BATCH\UPDATE.BAT ECHO [OK] C:\BATCH\UPDATE.BAT exists
IF NOT EXIST C:\BATCH\NUL ECHO [WARN] C:\BATCH directory missing - run MD C:\BATCH
IF EXIST C:\BATCH\NUL ECHO [OK] C:\BATCH directory exists
REM ==================================================================
REM TEST 3: Check PATH variable
REM ==================================================================
ECHO.
ECHO [TEST 3] Checking PATH...
ECHO PATH=%PATH%
REM Check if C:\BATCH is in PATH (simple check - look for BATCH string)
ECHO %PATH% | FIND /I "BATCH" > NUL
IF ERRORLEVEL 1 GOTO TEST3_FAIL
ECHO [OK] C:\BATCH is in PATH
GOTO TEST4
:TEST3_FAIL
ECHO [WARN] C:\BATCH not in PATH
ECHO Fix: Add "SET PATH=C:\DOS;C:\NET;C:\BATCH;C:\" to AUTOEXEC.BAT
GOTO TEST4
REM ==================================================================
REM TEST 4: Check T: drive
REM ==================================================================
:TEST4
ECHO.
ECHO [TEST 4] Checking T: drive...
REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST T:\*.* GOTO TEST4_FAIL
ECHO [OK] T: drive accessible
GOTO TEST5
:TEST4_FAIL
ECHO [FAIL] T: drive not accessible
ECHO Fix: Run C:\STARTNET.BAT to map network drives
GOTO TEST5
REM ==================================================================
REM TEST 5: Check X: drive
REM ==================================================================
:TEST5
ECHO.
ECHO [TEST 5] Checking X: drive...
REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST X:\*.* GOTO TEST5_FAIL
ECHO [OK] X: drive accessible
GOTO TEST6
:TEST5_FAIL
ECHO [FAIL] X: drive not accessible
ECHO Fix: Run C:\STARTNET.BAT to map network drives
GOTO TEST6
REM ==================================================================
REM TEST 6: Check if backup directory can be created
REM ==================================================================
:TEST6
ECHO.
ECHO [TEST 6] Checking backup directory creation...
IF "%MACHINE%"=="" GOTO TEST6_SKIP
REM Only test if T: is available
IF NOT EXIST T:\*.* GOTO TEST6_SKIP
REM Try to create machine directory
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% 2>NUL
IF NOT EXIST T:\%MACHINE%\NUL GOTO TEST6_FAIL
REM Try to create backup subdirectory
IF NOT EXIST T:\%MACHINE%\TEST\*.* MD T:\%MACHINE%\TEST 2>NUL
IF NOT EXIST T:\%MACHINE%\TEST\*.* GOTO TEST6_FAIL
ECHO [OK] Can create T:\%MACHINE%\TEST
ECHO [OK] Backup directory structure works
REM Clean up test directory
RD T:\%MACHINE%\TEST 2>NUL
GOTO SUMMARY
:TEST6_FAIL
ECHO [FAIL] Cannot create directory on T: drive
ECHO Check: T: drive is writable
GOTO SUMMARY
:TEST6_SKIP
ECHO [SKIP] Cannot test (T: unavailable or MACHINE not set)
GOTO SUMMARY
REM ==================================================================
REM SUMMARY
REM ==================================================================
:SUMMARY
ECHO.
ECHO ==============================================================
ECHO Test Summary
ECHO ==============================================================
ECHO.
REM Count passes and fails would be complex in DOS batch
REM Just show overall status
IF "%MACHINE%"=="" GOTO SUMMARY_FAIL
IF NOT EXIST C:\BATCH\UPDATE.BAT GOTO SUMMARY_FAIL
IF NOT EXIST T:\*.* GOTO SUMMARY_FAIL
ECHO [OK] All critical tests passed
ECHO.
ECHO Configuration appears correct.
ECHO.
ECHO Next step: Run UPDATE to test backup
ECHO C:\>UPDATE
ECHO.
GOTO END
:SUMMARY_FAIL
ECHO [FAIL] One or more tests failed
ECHO.
ECHO Please fix the failed tests before running UPDATE
ECHO.
ECHO Common fixes:
ECHO 1. Reboot machine (load AUTOEXEC.BAT changes)
ECHO 2. Run C:\STARTNET.BAT (map network drives)
ECHO 3. Check network cable is connected
ECHO 4. Create C:\BATCH directory: MD C:\BATCH
ECHO.
:END
ECHO ==============================================================
ECHO.
PAUSE

View File

@@ -0,0 +1,208 @@
@ECHO OFF
REM Network to Computer - Download software updates from network to local C: drive
REM Updates: T:\COMMON\ProdSW -> C:\BAT, T:\%MACHINE%\ProdSW -> C:\BAT and C:\ATE
REM Version: 2.5 - Replaced XCOPY with simple COPY (more reliable in DOS 6.22)
REM Last modified: 2026-01-20
REM Verify MACHINE environment variable is set
IF NOT "%MACHINE%"=="" GOTO CHECK_DRIVE
ECHO.
ECHO [ERROR] MACHINE variable not set
ECHO.
ECHO MACHINE must be set in AUTOEXEC.BAT
ECHO Run DEPLOY.BAT to configure this machine
ECHO.
PAUSE
GOTO END
:CHECK_DRIVE
REM Verify T: drive is accessible
REM DOS 6.22: Direct file test is most reliable
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
GOTO START_UPDATE
:NO_T_DRIVE
C:
ECHO.
ECHO [ERROR] T: drive not available
ECHO.
ECHO Network drive must be mapped to \\D2TESTNAS\test
ECHO Run: C:\STARTNET.BAT
ECHO.
PAUSE
GOTO END
:START_UPDATE
ECHO.
ECHO ==============================================================
ECHO Download Updates: %MACHINE% from Network
ECHO ==============================================================
ECHO Source: T:\COMMON and T:\%MACHINE%
ECHO Target: C:\BAT, C:\ATE, C:\NET
ECHO ==============================================================
ECHO.
REM Verify update directories exist on network
REM DOS 6.22: Check for files in ProdSW, not empty COMMON directory
IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_PRODSW
REM Machine-specific directory is optional
IF NOT EXIST T:\%MACHINE%\*.* GOTO SKIP_MACHINE_CHECK
IF NOT EXIST T:\%MACHINE%\ProdSW\*.* GOTO SKIP_MACHINE_CHECK
GOTO UPDATE_BATCH_FILES
:NO_PRODSW
ECHO [ERROR] T:\COMMON\ProdSW directory not found
ECHO Update directory is missing
ECHO.
PAUSE
GOTO END
:SKIP_MACHINE_CHECK
ECHO [INFO] T:\%MACHINE%\ProdSW not found - skipping machine-specific updates
ECHO.
:UPDATE_BATCH_FILES
ECHO [1/4] Updating batch files from T:\COMMON\ProdSW...
REM Create C:\BAT directory if needed
IF NOT EXIST C:\BAT\*.* MD C:\BAT
REM Backup existing batch files before update
ECHO Creating backups (.BAK files)...
FOR %%F IN (C:\BAT\*.BAT) DO COPY %%F %%~dpnF.BAK >NUL 2>NUL
REM Copy batch files from COMMON (simple COPY, not XCOPY)
ECHO Copying updated files...
COPY T:\COMMON\ProdSW\*.BAT C:\BAT /Y >NUL
IF ERRORLEVEL 1 GOTO UPDATE_ERROR_INIT
ECHO [OK] Batch files updated from COMMON
ECHO.
:UPDATE_MACHINE_FILES
ECHO [2/4] Updating machine-specific files from T:\%MACHINE%\ProdSW...
REM Check if machine-specific directory exists
IF NOT EXIST T:\%MACHINE%\ProdSW\*.* GOTO SKIP_MACHINE_FILES
REM Create directories if needed
IF NOT EXIST C:\BAT\*.* MD C:\BAT
IF NOT EXIST C:\ATE\*.* MD C:\ATE
REM Copy batch files
ECHO Copying batch files to C:\BAT...
FOR %%F IN (T:\%MACHINE%\ProdSW\*.BAT) DO COPY %%F C:\BAT\ /Y >NUL 2>NUL
IF NOT ERRORLEVEL 1 ECHO [OK] Machine-specific batch files updated
REM Copy executables
ECHO Copying programs to C:\ATE...
FOR %%F IN (T:\%MACHINE%\ProdSW\*.EXE) DO COPY %%F C:\ATE\ /Y >NUL 2>NUL
IF NOT ERRORLEVEL 1 ECHO [OK] Machine-specific programs updated
REM Copy data files
ECHO Copying data files to C:\ATE...
FOR %%F IN (T:\%MACHINE%\ProdSW\*.DAT) DO COPY %%F C:\ATE\ /Y >NUL 2>NUL
IF NOT ERRORLEVEL 1 ECHO [OK] Machine-specific data files updated
GOTO CHECK_SYSTEM_FILES
:SKIP_MACHINE_FILES
ECHO [SKIP] No machine-specific directory
ECHO.
:CHECK_SYSTEM_FILES
ECHO [3/4] Checking for system file updates...
REM Check if DOS directory exists on network
IF NOT EXIST T:\COMMON\DOS\*.* GOTO NO_SYSTEM_FILES
REM Check for AUTOEXEC.NEW or CONFIG.NEW
SET SYSUPD=0
IF EXIST T:\COMMON\DOS\AUTOEXEC.NEW SET SYSUPD=1
IF EXIST T:\COMMON\DOS\CONFIG.NEW SET SYSUPD=1
REM If no system updates, continue to network files
IF "%SYSUPD%"=="0" GOTO NO_SYSTEM_FILES
REM System files need updating - stage them for reboot
ECHO [FOUND] System file updates available
ECHO Staging AUTOEXEC.BAT and/or CONFIG.SYS updates...
ECHO.
IF EXIST T:\COMMON\DOS\AUTOEXEC.NEW COPY T:\COMMON\DOS\AUTOEXEC.NEW C:\AUTOEXEC.NEW >NUL
IF EXIST T:\COMMON\DOS\CONFIG.NEW COPY T:\COMMON\DOS\CONFIG.NEW C:\CONFIG.NEW >NUL
REM Call staging script if it exists
IF EXIST C:\BAT\STAGE.BAT GOTO CALL_STAGE
ECHO [WARNING] C:\BAT\STAGE.BAT not found
ECHO System files copied to C:\AUTOEXEC.NEW and C:\CONFIG.NEW
ECHO Manually copy these files after reboot
ECHO.
GOTO UPDATE_COMPLETE
:CALL_STAGE
CALL C:\BAT\STAGE.BAT
GOTO END
:NO_SYSTEM_FILES
ECHO [OK] No system file updates
ECHO.
:CHECK_NET_FILES
ECHO [4/4] Checking for network client updates...
REM Check if NET directory exists on network
IF NOT EXIST T:\COMMON\NET\*.* GOTO NO_NET_FILES
REM Backup network client files
ECHO Creating backups of C:\NET\...
FOR %%F IN (C:\NET\*.DOS) DO COPY %%F %%~dpnF.BAK >NUL 2>NUL
REM Copy network files (simple COPY, not XCOPY)
ECHO Copying updated network files...
COPY T:\COMMON\NET\*.* C:\NET /Y >NUL
IF NOT ERRORLEVEL 1 ECHO [OK] Network client files updated
GOTO UPDATE_COMPLETE
:NO_NET_FILES
ECHO [OK] No network client updates
ECHO.
:UPDATE_COMPLETE
ECHO ==============================================================
ECHO Update Complete
ECHO ==============================================================
ECHO.
ECHO Files updated from:
ECHO T:\COMMON\ProdSW -> C:\BAT
ECHO T:\%MACHINE%\ProdSW -> C:\BAT and C:\ATE
ECHO.
ECHO Backup files (.BAK) created in C:\BAT
ECHO.
IF "%SYSUPD%"=="1" ECHO [WARNING] Reboot required to apply system changes
IF "%SYSUPD%"=="1" ECHO Run REBOOT or press Ctrl+Alt+Del
ECHO.
GOTO END
:UPDATE_ERROR_INIT
ECHO.
ECHO [ERROR] Update initialization failed
ECHO Possible causes: Insufficient memory, invalid path, or drive not accessible
ECHO.
PAUSE
GOTO END
:UPDATE_ERROR_USER
ECHO.
ECHO [ERROR] Update terminated by user (Ctrl+C)
ECHO Update may be incomplete - run NWTOC again
ECHO.
PAUSE
GOTO END
:END
REM Clean up environment variables
SET SYSUPD=

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,5 @@
@ECHO OFF
REM UPDATE.BAT - Redirect to DEPLOY.BAT in proper location
REM Usage: UPDATE.BAT machine-name
REM Example: UPDATE.BAT TS-4R
CALL T:\COMMON\ProdSW\DEPLOY.BAT %1

View File

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