feat(dataforth-dos): Add DOS 6.22 Coding Agent and fix all batch files
DOS 6.22 Coding Agent (.claude/agents/dos-coding.md): - 18 documented compatibility rules - Validation checklist for all DOS batch files - Known working constructs reference - Error message troubleshooting guide Batch file fixes for DOS 6.22 compatibility: - CTONW.BAT v3.2: Removed %DATE%/%TIME%, square brackets - ATESYNC.BAT v1.1: Removed square brackets, ERRORLEVEL checks - CHECKUPD.BAT v1.4: Removed CALL :label subroutines, square brackets - UPDATE.BAT v2.4: Removed square brackets, fixed NUL directory checks - DOSTEST.BAT v1.2: Removed 2>NUL, square brackets, NUL checks Key DOS 6.22 incompatibilities fixed: - CALL :label (Windows NT+ only) - %DATE% and %TIME% variables (don't exist) - Square brackets in ECHO (cause errors) - 2>NUL stderr redirect (not supported) - IF NOT EXIST path\NUL (unreliable) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
@ECHO OFF
|
||||
REM ATESYNC.BAT - ATE Sync Orchestrator (ARCHBAT equivalent)
|
||||
REM Version: 1.0
|
||||
REM Version: 1.1 - DOS 6.22 compatible
|
||||
REM Last modified: 2026-01-21
|
||||
REM
|
||||
REM Called from AUTOEXEC.BAT after network is up
|
||||
@@ -25,18 +25,13 @@ ECHO ************************************************************
|
||||
ECHO.
|
||||
|
||||
REM Step 1: Upload test results FIRST (before downloading updates)
|
||||
REM This ensures local results are preserved before any updates
|
||||
ECHO [UPLOAD] Sending test results to network...
|
||||
ECHO Sending test results to network...
|
||||
CALL CTONW.BAT
|
||||
IF ERRORLEVEL 1 GOTO UPLOAD_ERROR
|
||||
ECHO [UPLOAD] Complete
|
||||
ECHO.
|
||||
|
||||
REM Step 2: Download software updates
|
||||
ECHO [DOWNLOAD] Getting updates from network...
|
||||
ECHO Getting updates from network...
|
||||
CALL NWTOC.BAT
|
||||
IF ERRORLEVEL 1 GOTO DOWNLOAD_ERROR
|
||||
ECHO [DOWNLOAD] Complete
|
||||
ECHO.
|
||||
|
||||
ECHO ************************************************************
|
||||
@@ -46,7 +41,7 @@ ECHO.
|
||||
GOTO END
|
||||
|
||||
:CREATE_MACHINE
|
||||
ECHO [INFO] Creating machine folder T:\%MACHINE%
|
||||
ECHO Creating machine folder T:\%MACHINE%
|
||||
MD T:\%MACHINE%
|
||||
IF NOT EXIST T:\%MACHINE%\*.* GOTO MACHINE_ERROR
|
||||
MD T:\%MACHINE%\LOGS
|
||||
@@ -60,13 +55,13 @@ MD T:\%MACHINE%\LOGS\SCTLOG
|
||||
MD T:\%MACHINE%\LOGS\VASLOG
|
||||
MD T:\%MACHINE%\ProdSW
|
||||
MD T:\%MACHINE%\Reports
|
||||
ECHO [INFO] Machine folder created
|
||||
ECHO Machine folder created
|
||||
GOTO START_SYNC
|
||||
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO ************************************************************
|
||||
ECHO [ERROR] MACHINE not set
|
||||
ECHO ERROR: MACHINE not set
|
||||
ECHO.
|
||||
ECHO Usage: ATESYNC TS-27
|
||||
ECHO or: SET MACHINE=TS-27
|
||||
@@ -77,35 +72,16 @@ GOTO END
|
||||
|
||||
:NO_DRIVE
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO Run STARTNET.BAT first
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:MACHINE_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create T:\%MACHINE%
|
||||
ECHO ERROR: Could not create T:\%MACHINE%
|
||||
ECHO Check network permissions
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:UPLOAD_ERROR
|
||||
ECHO.
|
||||
ECHO [WARNING] Upload may have had errors
|
||||
ECHO Check C:\ATE\CTONW.LOG
|
||||
PAUSE
|
||||
GOTO DOWNLOAD_ANYWAY
|
||||
|
||||
:DOWNLOAD_ANYWAY
|
||||
ECHO Continuing with download...
|
||||
CALL NWTOC.BAT
|
||||
GOTO END
|
||||
|
||||
:DOWNLOAD_ERROR
|
||||
ECHO.
|
||||
ECHO [WARNING] Download may have had errors
|
||||
ECHO Check C:\ATE\NWTOC.LOG
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:END
|
||||
|
||||
@@ -1,143 +1,77 @@
|
||||
@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 - Removed %~nx1 syntax for DOS 6.22 compatibility
|
||||
REM Last modified: 2026-01-20
|
||||
REM Version: 1.4 - DOS 6.22 compatible (removed CALL :label subroutines)
|
||||
REM Last modified: 2026-01-21
|
||||
|
||||
REM ==================================================================
|
||||
REM STEP 1: Verify machine name is set
|
||||
REM ==================================================================
|
||||
IF "%MACHINE%"=="" GOTO NO_MACHINE
|
||||
|
||||
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
|
||||
REM Verify T: drive
|
||||
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)
|
||||
REM Initialize flags
|
||||
SET COMMON=
|
||||
SET MACHINEFILES=
|
||||
SET SYSFILE=
|
||||
|
||||
REM ==================================================================
|
||||
REM STEP 4: Check COMMON batch files
|
||||
REM ==================================================================
|
||||
REM Check COMMON batch files
|
||||
ECHO (1/3) Checking T:\COMMON\ProdSW for batch file updates...
|
||||
|
||||
ECHO [1/3] Checking T:\COMMON\ProdSW for batch file updates...
|
||||
IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON
|
||||
|
||||
IF NOT EXIST T:\COMMON\ProdSW\NUL 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
|
||||
IF EXIST T:\COMMON\ProdSW\*.BAT SET COMMON=FOUND
|
||||
IF "%COMMON%"=="" ECHO No updates in COMMON
|
||||
IF NOT "%COMMON%"=="" ECHO Updates available in COMMON
|
||||
|
||||
ECHO.
|
||||
GOTO CHECK_MACHINE
|
||||
|
||||
:NO_COMMON
|
||||
ECHO [SKIP] T:\COMMON\ProdSW not found
|
||||
ECHO 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...
|
||||
ECHO (2/3) Checking T:\%MACHINE%\ProdSW for machine-specific updates...
|
||||
|
||||
IF NOT EXIST T:\%MACHINE%\ProdSW\NUL GOTO NO_MACHINE_DIR
|
||||
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%
|
||||
IF EXIST T:\%MACHINE%\ProdSW\*.* SET MACHINEFILES=FOUND
|
||||
IF "%MACHINEFILES%"=="" ECHO No updates for %MACHINE%
|
||||
IF NOT "%MACHINEFILES%"=="" ECHO Updates available for %MACHINE%
|
||||
|
||||
ECHO.
|
||||
GOTO CHECK_SYSTEM
|
||||
|
||||
:NO_MACHINE_DIR
|
||||
ECHO [SKIP] T:\%MACHINE%\ProdSW not found
|
||||
ECHO 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...
|
||||
ECHO (3/3) Checking T:\COMMON\DOS for system file updates...
|
||||
|
||||
IF NOT EXIST T:\COMMON\DOS\NUL GOTO NO_DOS_DIR
|
||||
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\AUTOEXEC.NEW ECHO AUTOEXEC.NEW found (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 EXIST T:\COMMON\DOS\CONFIG.NEW ECHO CONFIG.NEW found (reboot required)
|
||||
|
||||
IF "%SYSFILE%"=="" ECHO [OK] No system file updates
|
||||
IF "%SYSFILE%"=="" ECHO No system file updates
|
||||
|
||||
ECHO.
|
||||
GOTO SHOW_SUMMARY
|
||||
|
||||
:NO_DOS_DIR
|
||||
ECHO [SKIP] T:\COMMON\DOS not found
|
||||
ECHO 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
|
||||
@@ -147,59 +81,46 @@ 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
|
||||
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 Recommendation: Run NWTOC to install updates
|
||||
ECHO.
|
||||
IF NOT "%SYSFILE%"=="" ECHO [WARNING] System file updates will require reboot
|
||||
IF NOT "%SYSFILE%"=="" ECHO WARNING: System file updates require reboot
|
||||
IF NOT "%SYSFILE%"=="" ECHO.
|
||||
|
||||
GOTO END
|
||||
GOTO CLEANUP
|
||||
|
||||
:NO_UPDATES_AVAILABLE
|
||||
ECHO Status: All files are up to date
|
||||
ECHO.
|
||||
GOTO CLEANUP
|
||||
|
||||
GOTO END
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO ERROR: MACHINE variable not set
|
||||
ECHO Set MACHINE in AUTOEXEC.BAT: SET MACHINE=TS-4R
|
||||
ECHO.
|
||||
PAUSE
|
||||
GOTO CLEANUP
|
||||
|
||||
REM ==================================================================
|
||||
REM HELPER SUBROUTINES
|
||||
REM ==================================================================
|
||||
:NO_T_DRIVE
|
||||
ECHO.
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO Run: C:\STARTNET.BAT
|
||||
ECHO.
|
||||
PAUSE
|
||||
GOTO CLEANUP
|
||||
|
||||
:CHECK_COMMON_FILE
|
||||
REM Flag that network files exist (DOS 6.22 cannot extract filename from path)
|
||||
REM Simply mark updates as available if any network file is found
|
||||
SET COMMON=FOUND
|
||||
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
|
||||
:CLEANUP
|
||||
SET COMMON=
|
||||
SET MACHINEFILES=
|
||||
SET SYSFILE=
|
||||
SET HASUPDATES=
|
||||
SET NETFILE=
|
||||
SET FILENAME=
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
@ECHO OFF
|
||||
REM Computer to Network - Upload local test results to network
|
||||
REM Version: 3.1 - Added logging, machine verification
|
||||
REM Version: 3.2 - DOS 6.22 compatible
|
||||
REM Last modified: 2026-01-21
|
||||
REM
|
||||
REM IMPORTANT: Test results go to T:\%MACHINE%\LOGS\*LOG (machine-specific)
|
||||
REM This prevents overwriting data from other machines
|
||||
|
||||
REM Verify MACHINE variable is set
|
||||
IF "%MACHINE%"=="" GOTO NO_MACHINE
|
||||
@@ -15,20 +12,11 @@ IF NOT EXIST T:\*.* GOTO NO_DRIVE
|
||||
REM Verify machine folder exists
|
||||
IF NOT EXIST T:\%MACHINE%\*.* GOTO NO_FOLDER
|
||||
|
||||
REM Start logging
|
||||
ECHO CTONW.BAT v3.1 > C:\ATE\CTONW.LOG
|
||||
ECHO ........................................
|
||||
ECHO Archiving datalog files to network...
|
||||
ECHO CTONW.BAT v3.2 > C:\ATE\CTONW.LOG
|
||||
ECHO Machine: %MACHINE% >> C:\ATE\CTONW.LOG
|
||||
ECHO Date: %DATE% %TIME% >> C:\ATE\CTONW.LOG
|
||||
ECHO Target: T:\%MACHINE%\LOGS >> C:\ATE\CTONW.LOG
|
||||
ECHO. >> C:\ATE\CTONW.LOG
|
||||
|
||||
REM Display banner
|
||||
ECHO.
|
||||
ECHO ==============================================================
|
||||
ECHO Upload Test Results: %MACHINE%
|
||||
ECHO Destination: T:\%MACHINE%\LOGS
|
||||
ECHO ==============================================================
|
||||
ECHO.
|
||||
ECHO Copying from C:\ATE\ to T:\%MACHINE%\LOGS\ >> C:\ATE\CTONW.LOG
|
||||
|
||||
REM Check for ATE directory
|
||||
IF NOT EXIST C:\ATE\*.* GOTO SKIP_ATE
|
||||
@@ -44,78 +32,50 @@ IF NOT EXIST T:\%MACHINE%\LOGS\PWRLOG\*.* MD T:\%MACHINE%\LOGS\PWRLOG
|
||||
IF NOT EXIST T:\%MACHINE%\LOGS\SCTLOG\*.* MD T:\%MACHINE%\LOGS\SCTLOG
|
||||
IF NOT EXIST T:\%MACHINE%\LOGS\VASLOG\*.* MD T:\%MACHINE%\LOGS\VASLOG
|
||||
|
||||
ECHO [1/4] Uploading test logs...
|
||||
ECHO [1/4] Test logs: >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\5BLOG\*.* COPY C:\ATE\5BLOG\*.* T:\%MACHINE%\LOGS\5BLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\7BLOG\*.* COPY C:\ATE\7BLOG\*.* T:\%MACHINE%\LOGS\7BLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\8BLOG\*.* COPY C:\ATE\8BLOG\*.* T:\%MACHINE%\LOGS\8BLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\DSCLOG\*.* COPY C:\ATE\DSCLOG\*.* T:\%MACHINE%\LOGS\DSCLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\HVLOG\*.* COPY C:\ATE\HVLOG\*.* T:\%MACHINE%\LOGS\HVLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\PWRLOG\*.* COPY C:\ATE\PWRLOG\*.* T:\%MACHINE%\LOGS\PWRLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\SCTLOG\*.* COPY C:\ATE\SCTLOG\*.* T:\%MACHINE%\LOGS\SCTLOG >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\VASLOG\*.* COPY C:\ATE\VASLOG\*.* T:\%MACHINE%\LOGS\VASLOG >> C:\ATE\CTONW.LOG
|
||||
ECHO Done
|
||||
ECHO.
|
||||
IF EXIST C:\ATE\5BLOG\*.DAT COPY C:\ATE\5BLOG\*.DAT T:\%MACHINE%\LOGS\5BLOG
|
||||
IF EXIST C:\ATE\7BLOG\*.DAT COPY C:\ATE\7BLOG\*.DAT T:\%MACHINE%\LOGS\7BLOG
|
||||
IF EXIST C:\ATE\7BLOG\*.SHT COPY C:\ATE\7BLOG\*.SHT T:\%MACHINE%\LOGS\7BLOG
|
||||
IF EXIST C:\ATE\8BLOG\*.DAT COPY C:\ATE\8BLOG\*.DAT T:\%MACHINE%\LOGS\8BLOG
|
||||
IF EXIST C:\ATE\DSCLOG\*.DAT COPY C:\ATE\DSCLOG\*.DAT T:\%MACHINE%\LOGS\DSCLOG
|
||||
IF EXIST C:\ATE\HVLOG\*.DAT COPY C:\ATE\HVLOG\*.DAT T:\%MACHINE%\LOGS\HVLOG
|
||||
IF EXIST C:\ATE\PWRLOG\*.DAT COPY C:\ATE\PWRLOG\*.DAT T:\%MACHINE%\LOGS\PWRLOG
|
||||
IF EXIST C:\ATE\SCTLOG\*.DAT COPY C:\ATE\SCTLOG\*.DAT T:\%MACHINE%\LOGS\SCTLOG
|
||||
IF EXIST C:\ATE\VASLOG\*.DAT COPY C:\ATE\VASLOG\*.DAT T:\%MACHINE%\LOGS\VASLOG
|
||||
|
||||
REM Ensure Reports directory exists
|
||||
ECHO Archiving work-order report files to network...
|
||||
IF NOT EXIST T:\%MACHINE%\Reports\*.* MD T:\%MACHINE%\Reports
|
||||
IF EXIST C:\Reports\*.TXT COPY C:\Reports\*.TXT T:\%MACHINE%\Reports
|
||||
|
||||
ECHO [2/4] Uploading work-order reports...
|
||||
ECHO [2/4] Reports: >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\Reports\*.txt COPY C:\Reports\*.txt T:\%MACHINE%\Reports >> C:\ATE\CTONW.LOG
|
||||
ECHO Done
|
||||
ECHO.
|
||||
ECHO Archiving log file to network...
|
||||
IF EXIST C:\ATE\*.LOG COPY C:\ATE\*.LOG T:\%MACHINE%
|
||||
|
||||
ECHO [3/4] Uploading batch files...
|
||||
ECHO [3/4] Batch files: >> C:\ATE\CTONW.LOG
|
||||
IF NOT EXIST T:\%MACHINE%\ProdSW\*.* MD T:\%MACHINE%\ProdSW
|
||||
IF EXIST C:\BAT\*.BAT COPY C:\BAT\*.BAT T:\%MACHINE%\ProdSW >> C:\ATE\CTONW.LOG
|
||||
ECHO Done
|
||||
ECHO.
|
||||
|
||||
ECHO [4/4] Uploading log file...
|
||||
ECHO [4/4] Log file: >> C:\ATE\CTONW.LOG
|
||||
IF EXIST C:\ATE\*.LOG COPY C:\ATE\*.LOG T:\%MACHINE% >> C:\ATE\CTONW.LOG
|
||||
ECHO Done
|
||||
ECHO.
|
||||
|
||||
ECHO Complete >> C:\ATE\CTONW.LOG
|
||||
GOTO DONE
|
||||
ECHO Network archiving of datalog files done!
|
||||
ECHO ........................................
|
||||
GOTO END
|
||||
|
||||
:SKIP_ATE
|
||||
ECHO [INFO] No C:\ATE directory - skipping
|
||||
ECHO.
|
||||
|
||||
:DONE
|
||||
ECHO ==============================================================
|
||||
ECHO Upload Complete: %MACHINE%
|
||||
ECHO ==============================================================
|
||||
ECHO.
|
||||
ECHO No C:\ATE directory - skipping
|
||||
GOTO END
|
||||
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO [ERROR] MACHINE variable not set
|
||||
ECHO.
|
||||
ECHO This prevents uploading to wrong folder.
|
||||
ECHO Run DEPLOY.BAT or ATESYNC first.
|
||||
ECHO.
|
||||
ECHO ........................................
|
||||
ECHO ERROR: MACHINE variable not set
|
||||
ECHO Run DEPLOY.BAT or ATESYNC first
|
||||
ECHO ........................................
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:NO_DRIVE
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO Run C:\STARTNET.BAT first
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:NO_FOLDER
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine folder T:\%MACHINE% not found
|
||||
ECHO.
|
||||
ECHO Run ATESYNC to create it, or check MACHINE variable.
|
||||
ECHO Current MACHINE=%MACHINE%
|
||||
ECHO.
|
||||
ECHO ........................................
|
||||
ECHO ERROR: Machine folder T:\%MACHINE% not found
|
||||
ECHO Run ATESYNC to create it first
|
||||
ECHO ........................................
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
@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
|
||||
REM Version: 1.2 - DOS 6.22 compatible (removed brackets, 2>NUL, NUL checks)
|
||||
REM Last modified: 2026-01-21
|
||||
|
||||
ECHO.
|
||||
ECHO ==============================================================
|
||||
@@ -14,14 +14,14 @@ REM ==================================================================
|
||||
REM TEST 1: Check MACHINE variable
|
||||
REM ==================================================================
|
||||
|
||||
ECHO [TEST 1] Checking MACHINE variable...
|
||||
ECHO (TEST 1) Checking MACHINE variable...
|
||||
|
||||
IF "%MACHINE%"=="" GOTO TEST1_FAIL
|
||||
ECHO [OK] MACHINE=%MACHINE%
|
||||
ECHO OK: MACHINE=%MACHINE%
|
||||
GOTO TEST2
|
||||
|
||||
:TEST1_FAIL
|
||||
ECHO [FAIL] MACHINE variable not set
|
||||
ECHO FAIL: MACHINE variable not set
|
||||
ECHO Fix: Add "SET MACHINE=TS-4R" to C:\AUTOEXEC.BAT
|
||||
ECHO.
|
||||
PAUSE
|
||||
@@ -33,55 +33,39 @@ REM ==================================================================
|
||||
|
||||
:TEST2
|
||||
ECHO.
|
||||
ECHO [TEST 2] Checking required files...
|
||||
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:\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:\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
|
||||
IF NOT EXIST C:\BAT\*.* ECHO WARN: C:\BAT directory missing - run MD C:\BAT
|
||||
IF EXIST C:\BAT\*.* ECHO OK: C:\BAT directory exists
|
||||
|
||||
REM ==================================================================
|
||||
REM TEST 3: Check PATH variable
|
||||
REM ==================================================================
|
||||
|
||||
ECHO.
|
||||
ECHO [TEST 3] Checking PATH...
|
||||
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...
|
||||
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
|
||||
ECHO OK: T: drive accessible
|
||||
GOTO TEST5
|
||||
|
||||
:TEST4_FAIL
|
||||
ECHO [FAIL] T: drive not accessible
|
||||
ECHO FAIL: T: drive not accessible
|
||||
ECHO Fix: Run C:\STARTNET.BAT to map network drives
|
||||
GOTO TEST5
|
||||
|
||||
@@ -91,16 +75,15 @@ REM ==================================================================
|
||||
|
||||
:TEST5
|
||||
ECHO.
|
||||
ECHO [TEST 5] Checking X: drive...
|
||||
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
|
||||
ECHO OK: X: drive accessible
|
||||
GOTO TEST6
|
||||
|
||||
:TEST5_FAIL
|
||||
ECHO [FAIL] X: drive not accessible
|
||||
ECHO FAIL: X: drive not accessible
|
||||
ECHO Fix: Run C:\STARTNET.BAT to map network drives
|
||||
GOTO TEST6
|
||||
|
||||
@@ -110,7 +93,7 @@ REM ==================================================================
|
||||
|
||||
:TEST6
|
||||
ECHO.
|
||||
ECHO [TEST 6] Checking backup directory creation...
|
||||
ECHO (TEST 6) Checking backup directory creation...
|
||||
|
||||
IF "%MACHINE%"=="" GOTO TEST6_SKIP
|
||||
|
||||
@@ -118,28 +101,28 @@ 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
|
||||
IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
|
||||
IF NOT EXIST T:\%MACHINE%\*.* GOTO TEST6_FAIL
|
||||
|
||||
REM Try to create backup subdirectory
|
||||
IF NOT EXIST T:\%MACHINE%\TEST\*.* MD T:\%MACHINE%\TEST 2>NUL
|
||||
REM Try to create test subdirectory
|
||||
IF NOT EXIST T:\%MACHINE%\TEST\*.* MD T:\%MACHINE%\TEST
|
||||
IF NOT EXIST T:\%MACHINE%\TEST\*.* GOTO TEST6_FAIL
|
||||
|
||||
ECHO [OK] Can create T:\%MACHINE%\TEST
|
||||
ECHO [OK] Backup directory structure works
|
||||
ECHO OK: Can create T:\%MACHINE%\TEST
|
||||
ECHO OK: Backup directory structure works
|
||||
|
||||
REM Clean up test directory
|
||||
RD T:\%MACHINE%\TEST 2>NUL
|
||||
RD T:\%MACHINE%\TEST
|
||||
|
||||
GOTO SUMMARY
|
||||
|
||||
:TEST6_FAIL
|
||||
ECHO [FAIL] Cannot create directory on T: drive
|
||||
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)
|
||||
ECHO SKIP: Cannot test (T: unavailable or MACHINE not set)
|
||||
GOTO SUMMARY
|
||||
|
||||
REM ==================================================================
|
||||
@@ -153,14 +136,11 @@ 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 C:\BAT\*.* GOTO SUMMARY_FAIL
|
||||
IF NOT EXIST T:\*.* GOTO SUMMARY_FAIL
|
||||
|
||||
ECHO [OK] All critical tests passed
|
||||
ECHO OK: All critical tests passed
|
||||
ECHO.
|
||||
ECHO Configuration appears correct.
|
||||
ECHO.
|
||||
@@ -170,7 +150,7 @@ ECHO.
|
||||
GOTO END
|
||||
|
||||
:SUMMARY_FAIL
|
||||
ECHO [FAIL] One or more tests failed
|
||||
ECHO FAIL: One or more tests failed
|
||||
ECHO.
|
||||
ECHO Please fix the failed tests before running UPDATE
|
||||
ECHO.
|
||||
@@ -178,7 +158,7 @@ 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 4. Create C:\BAT directory: MD C:\BAT
|
||||
ECHO.
|
||||
|
||||
:END
|
||||
|
||||
@@ -6,8 +6,8 @@ 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 Version: 2.4 - DOS 6.22 compatible (removed brackets, fixed NUL checks)
|
||||
REM Last modified: 2026-01-21
|
||||
|
||||
REM ==================================================================
|
||||
REM STEP 1: Determine machine name
|
||||
@@ -18,7 +18,7 @@ IF NOT "%MACHINE%"=="" GOTO USE_ENV
|
||||
|
||||
:NO_MACHINE
|
||||
ECHO.
|
||||
ECHO [ERROR] Machine name not specified
|
||||
ECHO ERROR: Machine name not specified
|
||||
ECHO.
|
||||
ECHO Usage: UPDATE machine-name
|
||||
ECHO Example: UPDATE TS-4R
|
||||
@@ -47,12 +47,12 @@ ECHO Checking network drive T:...
|
||||
REM DOS 6.22: Direct file test is most reliable
|
||||
IF NOT EXIST T:\*.* GOTO NO_T_DRIVE
|
||||
|
||||
ECHO [OK] T: drive accessible
|
||||
ECHO OK: T: drive accessible
|
||||
GOTO START_BACKUP
|
||||
|
||||
:NO_T_DRIVE
|
||||
ECHO.
|
||||
ECHO [ERROR] T: drive not available
|
||||
ECHO ERROR: T: drive not available
|
||||
ECHO.
|
||||
ECHO Network drive T: must be mapped to \\D2TESTNAS\test
|
||||
ECHO.
|
||||
@@ -79,15 +79,15 @@ ECHO Target: T:\%MACHINE%\BACKUP
|
||||
ECHO.
|
||||
|
||||
REM Create machine directory if it doesn't exist
|
||||
IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE%
|
||||
IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
|
||||
|
||||
REM Create backup directory
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\NUL MD T:\%MACHINE%\BACKUP
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* MD T:\%MACHINE%\BACKUP
|
||||
|
||||
REM Check if backup directory was created successfully
|
||||
IF NOT EXIST T:\%MACHINE%\BACKUP\*.* GOTO BACKUP_DIR_ERROR
|
||||
|
||||
ECHO [OK] Backup directory ready
|
||||
ECHO OK: Backup directory ready
|
||||
ECHO.
|
||||
|
||||
REM ==================================================================
|
||||
@@ -124,7 +124,7 @@ IF ERRORLEVEL 2 GOTO USER_ABORT
|
||||
IF ERRORLEVEL 1 GOTO NO_FILES
|
||||
|
||||
ECHO.
|
||||
ECHO [OK] Backup completed successfully
|
||||
ECHO OK: Backup completed successfully
|
||||
ECHO.
|
||||
ECHO Files backed up to: T:\%MACHINE%\BACKUP
|
||||
GOTO END
|
||||
@@ -135,7 +135,7 @@ REM ==================================================================
|
||||
|
||||
:BACKUP_DIR_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create backup directory
|
||||
ECHO ERROR: Could not create backup directory
|
||||
ECHO Target: T:\%MACHINE%\BACKUP
|
||||
ECHO.
|
||||
ECHO Check:
|
||||
@@ -148,7 +148,7 @@ GOTO END
|
||||
|
||||
:DISK_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Disk write error
|
||||
ECHO ERROR: Disk write error
|
||||
ECHO.
|
||||
ECHO Possible causes:
|
||||
ECHO - Target drive is full
|
||||
@@ -160,7 +160,7 @@ GOTO END
|
||||
|
||||
:INIT_ERROR
|
||||
ECHO.
|
||||
ECHO [ERROR] Backup initialization failed
|
||||
ECHO ERROR: Backup initialization failed
|
||||
ECHO.
|
||||
ECHO Possible causes:
|
||||
ECHO - Insufficient memory
|
||||
@@ -172,7 +172,7 @@ GOTO END
|
||||
|
||||
:USER_ABORT
|
||||
ECHO.
|
||||
ECHO [WARNING] Backup terminated by user (Ctrl+C)
|
||||
ECHO WARNING: Backup terminated by user (Ctrl+C)
|
||||
ECHO.
|
||||
ECHO Backup may be incomplete!
|
||||
ECHO.
|
||||
@@ -181,7 +181,7 @@ GOTO END
|
||||
|
||||
:NO_FILES
|
||||
ECHO.
|
||||
ECHO [WARNING] No files found to copy
|
||||
ECHO WARNING: No files found to copy
|
||||
ECHO.
|
||||
ECHO This may indicate:
|
||||
ECHO - All files are already up to date (/D option)
|
||||
|
||||
Reference in New Issue
Block a user