From fd24a0c54847c95e0681a6fece00a35ccc2f797b Mon Sep 17 00:00:00 2001 From: azcomputerguru Date: Wed, 21 Jan 2026 13:44:09 -0700 Subject: [PATCH] fix(dataforth-dos): DOS 6.22 batch file improvements and sync fix NWTOC.BAT v3.5: - Switch from XCOPY to COPY (more reliable in DOS 6.22) - Remove all >NUL redirects that cause issues - Add IF NOT EXIST checks before MD to avoid errors - Add 8 ATE data folder copies (5BDATA, 7BDATA, 8BDATA, DSCDATA, HVDATA, PWRDATA, RMSDATA, SCTDATA) - Remove machine-specific section (no longer needed) - Remove MACHINE variable requirement DEPLOY.BAT v2.4: - Switch all XCOPY to COPY for DOS 6.22 compatibility - Simplify output messages Also fixed AD2->NAS sync issue: - Ate/ProdSW folder was not being synced to NAS - DOS machines were getting outdated DSCDATA files (Dec 2025 vs Jan 2026) - Updated Sync-FromNAS.ps1 on AD2 to include Ate/ProdSW folder - Manually synced correct files to NAS (DSCMAIN4.DAT 65508 bytes) Co-Authored-By: Claude Opus 4.5 --- projects/dataforth-dos/batch-files/DEPLOY.BAT | 20 +++--- projects/dataforth-dos/batch-files/NWTOC.BAT | 70 +++++++++---------- 2 files changed, 42 insertions(+), 48 deletions(-) diff --git a/projects/dataforth-dos/batch-files/DEPLOY.BAT b/projects/dataforth-dos/batch-files/DEPLOY.BAT index 82d2278..02a8f21 100644 --- a/projects/dataforth-dos/batch-files/DEPLOY.BAT +++ b/projects/dataforth-dos/batch-files/DEPLOY.BAT @@ -1,8 +1,8 @@ @ECHO OFF REM One-time deployment script for DOS Update System REM Usage: T:\COMMON\ProdSW\DEPLOY.BAT machine-name -REM Version: 2.3 - Removed 2>NUL (DOS 6.22 only supports >NUL) -REM Last modified: 2026-01-20 +REM Version: 2.4 - Use COPY instead of XCOPY (DOS 6.22 compatibility) +REM Last modified: 2026-01-21 CLS @@ -27,13 +27,13 @@ MD C:\BAT >NUL MD T:\%MACHINE% >NUL ECHO [1/2] Copying batch files to C:\BAT... -XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT /Y >NUL -XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT /Y >NUL -XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT /Y >NUL -XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT /Y >NUL -XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT /Y >NUL -XCOPY T:\COMMON\ProdSW\REBOOT.BAT C:\BAT /Y >NUL -ECHO [OK] Batch files installed +COPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT >NUL +COPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT >NUL +COPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT >NUL +COPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT >NUL +COPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT >NUL +COPY T:\COMMON\ProdSW\REBOOT.BAT C:\BAT >NUL +ECHO Batch files installed ECHO. ECHO [2/2] Installing AUTOEXEC.BAT... @@ -63,7 +63,7 @@ ECHO ECHO System Ready >> C:\AUTOEXEC.BAT ECHO ECHO. >> C:\AUTOEXEC.BAT ECHO CD \ATE >> C:\AUTOEXEC.BAT ECHO menux >> C:\AUTOEXEC.BAT -ECHO [OK] AUTOEXEC.BAT installed with MACHINE=%MACHINE% +ECHO AUTOEXEC.BAT installed with MACHINE=%MACHINE% ECHO. ECHO ============================================================== diff --git a/projects/dataforth-dos/batch-files/NWTOC.BAT b/projects/dataforth-dos/batch-files/NWTOC.BAT index 54f9e6f..a1c251f 100644 --- a/projects/dataforth-dos/batch-files/NWTOC.BAT +++ b/projects/dataforth-dos/batch-files/NWTOC.BAT @@ -1,10 +1,7 @@ @ECHO OFF REM Network to Computer - Download software updates from network to local C: drive -REM Version: 2.8 - Added /I flag, removed 2>NUL (DOS 6.22) -REM Last modified: 2026-01-20 - -REM Check MACHINE variable -IF "%MACHINE%"=="" GOTO NO_MACHINE +REM Version: 3.5 - Use COPY, no NUL redirects +REM Last modified: 2026-01-21 REM Check T: drive IF NOT EXIST T:\*.* GOTO NO_DRIVE @@ -12,51 +9,54 @@ IF NOT EXIST T:\*.* GOTO NO_DRIVE REM Display banner ECHO. ECHO ============================================================== -ECHO Download Updates: %MACHINE% from Network +ECHO Download Updates from Network ECHO ============================================================== ECHO. -REM Create local directories (ignore errors with >NUL) -MD C:\BAT >NUL -MD C:\ATE >NUL -MD C:\NET >NUL +REM Create local directories (errors ignored) +IF NOT EXIST C:\BAT\*.* MD C:\BAT +IF NOT EXIST C:\ATE\*.* MD C:\ATE +IF NOT EXIST C:\ATE\5BDATA\*.* MD C:\ATE\5BDATA +IF NOT EXIST C:\ATE\7BDATA\*.* MD C:\ATE\7BDATA +IF NOT EXIST C:\ATE\8BDATA\*.* MD C:\ATE\8BDATA +IF NOT EXIST C:\ATE\DSCDATA\*.* MD C:\ATE\DSCDATA +IF NOT EXIST C:\ATE\HVDATA\*.* MD C:\ATE\HVDATA +IF NOT EXIST C:\ATE\PWRDATA\*.* MD C:\ATE\PWRDATA +IF NOT EXIST C:\ATE\RMSDATA\*.* MD C:\ATE\RMSDATA +IF NOT EXIST C:\ATE\SCTDATA\*.* MD C:\ATE\SCTDATA +IF NOT EXIST C:\NET\*.* MD C:\NET REM Check for COMMON updates IF NOT EXIST T:\COMMON\ProdSW\*.* GOTO NO_COMMON -ECHO [1/3] Copying from T:\COMMON\ProdSW to C:\BAT... -XCOPY T:\COMMON\ProdSW\*.BAT C:\BAT /Y /I >NUL -ECHO [OK] Common batch files updated +ECHO [1/3] Copying batch files to C:\BAT... +COPY T:\COMMON\ProdSW\*.BAT C:\BAT +ECHO Done ECHO. -REM Check for machine-specific updates -IF NOT EXIST T:\%MACHINE%\ProdSW\*.* GOTO SKIP_MACHINE - -ECHO [2/3] Copying from T:\%MACHINE%\ProdSW... -IF EXIST T:\%MACHINE%\ProdSW\*.BAT XCOPY T:\%MACHINE%\ProdSW\*.BAT C:\BAT /Y /I >NUL -IF EXIST T:\%MACHINE%\ProdSW\*.EXE XCOPY T:\%MACHINE%\ProdSW\*.EXE C:\ATE /Y /I >NUL -IF EXIST T:\%MACHINE%\ProdSW\*.DAT XCOPY T:\%MACHINE%\ProdSW\*.DAT C:\ATE /Y /I >NUL -IF EXIST T:\%MACHINE%\ProdSW\*.CFG XCOPY T:\%MACHINE%\ProdSW\*.CFG C:\ATE /Y /I >NUL -ECHO [OK] Machine-specific files updated -ECHO. -GOTO CHECK_NET - -:SKIP_MACHINE -ECHO [2/3] No machine-specific updates (T:\%MACHINE%\ProdSW not found) +ECHO [2/3] Copying ATE data folders to C:\ATE... +IF EXIST T:\Ate\ProdSW\5BDATA\*.* COPY T:\Ate\ProdSW\5BDATA\*.* C:\ATE\5BDATA +IF EXIST T:\Ate\ProdSW\7BDATA\*.* COPY T:\Ate\ProdSW\7BDATA\*.* C:\ATE\7BDATA +IF EXIST T:\Ate\ProdSW\8BDATA\*.* COPY T:\Ate\ProdSW\8BDATA\*.* C:\ATE\8BDATA +IF EXIST T:\Ate\ProdSW\DSCDATA\*.* COPY T:\Ate\ProdSW\DSCDATA\*.* C:\ATE\DSCDATA +IF EXIST T:\Ate\ProdSW\HVDATA\*.* COPY T:\Ate\ProdSW\HVDATA\*.* C:\ATE\HVDATA +IF EXIST T:\Ate\ProdSW\PWRDATA\*.* COPY T:\Ate\ProdSW\PWRDATA\*.* C:\ATE\PWRDATA +IF EXIST T:\Ate\ProdSW\RMSDATA\*.* COPY T:\Ate\ProdSW\RMSDATA\*.* C:\ATE\RMSDATA +IF EXIST T:\Ate\ProdSW\SCTDATA\*.* COPY T:\Ate\ProdSW\SCTDATA\*.* C:\ATE\SCTDATA +ECHO Done ECHO. -:CHECK_NET REM Check for network client updates IF NOT EXIST T:\COMMON\NET\*.* GOTO SKIP_NET -ECHO [3/3] Copying from T:\COMMON\NET to C:\NET... -XCOPY T:\COMMON\NET\*.* C:\NET /Y /I >NUL -ECHO [OK] Network files updated +ECHO [3/3] Copying network files to C:\NET... +COPY T:\COMMON\NET\*.* C:\NET +ECHO Done ECHO. GOTO DONE :SKIP_NET -ECHO [3/3] No network updates (T:\COMMON\NET not found) +ECHO [3/3] No network updates ECHO. :DONE @@ -71,12 +71,6 @@ ECHO [ERROR] T:\COMMON\ProdSW not found PAUSE GOTO END -:NO_MACHINE -ECHO [ERROR] MACHINE variable not set -ECHO Run DEPLOY.BAT first -PAUSE -GOTO END - :NO_DRIVE ECHO [ERROR] T: drive not available ECHO Run C:\STARTNET.BAT first