@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.0 - DOS 6.22 compatible REM Last modified: 2026-01-19 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 Press any key to exit... GOTO END REM ================================================================== REM STEP 2: Verify T: drive is accessible REM ================================================================== :CHECK_DRIVE REM Test T: drive access T: 2>NUL IF ERRORLEVEL 1 GOTO NO_T_DRIVE C: REM Double-check with NUL device test IF NOT EXIST T:\NUL GOTO NO_T_DRIVE GOTO START_CHECK :NO_T_DRIVE C: ECHO. ECHO [ERROR] T: drive not available ECHO. ECHO Run: C:\NET\STARTNET.BAT ECHO. PAUSE Press any key to exit... GOTO END REM ================================================================== REM STEP 3: Display check banner REM ================================================================== :START_CHECK ECHO. ECHO ============================================================== ECHO Update Check: %MACHINE% ECHO ============================================================== ECHO. REM Initialize counters SET COMMON=0 SET MACHINE=0 SET SYSFILE=0 SET TOTAL=0 REM ================================================================== REM STEP 4: Check COMMON batch files REM ================================================================== ECHO [1/3] Checking T:\COMMON\ProdSW for batch file updates... IF NOT EXIST T:\COMMON\ProdSW\NUL GOTO NO_COMMON REM Count files on network FOR %%F IN (T:\COMMON\ProdSW\*.BAT) DO CALL :CHECK_COMMON_FILE %%F IF "%COMMON%"=="0" ECHO [OK] No updates in COMMON IF NOT "%COMMON%"=="0" ECHO [FOUND] %COMMON% file(s) 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... IF NOT EXIST T:\%MACHINE%\ProdSW\NUL GOTO NO_MACHINE_DIR REM Count all files (BAT, EXE, DAT) FOR %%F IN (T:\%MACHINE%\ProdSW\*.*) DO CALL :COUNT_FILE IF "%MACHINEFILES%"=="0" ECHO [OK] No updates for %MACHINE% IF NOT "%MACHINEFILES%"=="0" ECHO [FOUND] %MACHINEFILES% file(s) 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... IF NOT EXIST T:\COMMON\DOS\NUL GOTO NO_DOS_DIR REM Check for .NEW files IF EXIST T:\COMMON\DOS\AUTOEXEC.NEW SET /A SYSFILE=SYSFILE+1 IF EXIST T:\COMMON\DOS\AUTOEXEC.NEW ECHO [FOUND] AUTOEXEC.NEW (system reboot required) IF EXIST T:\COMMON\DOS\CONFIG.NEW SET /A SYSFILE=SYSFILE+1 IF EXIST T:\COMMON\DOS\CONFIG.NEW ECHO [FOUND] CONFIG.NEW (system reboot required) IF "%SYSFILE%"=="0" 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 Calculate total SET /A TOTAL=COMMON+MACHINEFILES+SYSFILE ECHO ============================================================== ECHO Update Summary ECHO ============================================================== ECHO. ECHO Available updates: ECHO Common files: %COMMON% ECHO Machine-specific files: %MACHINEFILES% ECHO System files: %SYSFILE% ECHO ----------------------------------- ECHO Total: %TOTAL% ECHO. REM Provide recommendation IF "%TOTAL%"=="0" GOTO NO_UPDATES_AVAILABLE ECHO Recommendation: ECHO Run NWTOC to download and install updates ECHO. IF NOT "%SYSFILE%"=="0" ECHO [WARNING] System file updates will require reboot IF NOT "%SYSFILE%"=="0" 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 /A COMMON=COMMON+1 IF NOT EXIST C:\BAT\%FILENAME% GOTO :EOF REM Both files exist - compare using XCOPY /D REM Create temp directory for test IF NOT EXIST C:\TEMP\NUL MD C:\TEMP REM Try to copy with /D (only if newer) XCOPY %NETFILE% C:\TEMP\ /D /Y >NUL 2>NUL IF NOT ERRORLEVEL 1 SET /A COMMON=COMMON+1 REM Clean up IF EXIST C:\TEMP\%FILENAME% DEL C:\TEMP\%FILENAME% GOTO :EOF :COUNT_FILE REM Simple counter for machine-specific files SET /A MACHINEFILES=MACHINEFILES+1 GOTO :EOF REM ================================================================== REM CLEANUP AND EXIT REM ================================================================== :END REM Clean up environment variables SET COMMON= SET MACHINEFILES= SET SYSFILE= SET TOTAL= SET NETFILE= SET FILENAME=