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 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 13:44:09 -07:00
parent c332f4f48d
commit fd24a0c548
2 changed files with 42 additions and 48 deletions

View File

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

View File

@@ -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