fix: DOS 6.22 compatibility - remove 2>NUL, add XCOPY /I flag

DOS 6.22 does not support stderr redirection (2>NUL), only stdout (>NUL).
Added /I flag to XCOPY to assume destination is directory.
Added CD \ATE and menux to AUTOEXEC.BAT generation.

Changes:
- CTONW.BAT v2.5: Removed 2>NUL from MD commands, added /I to XCOPY
- NWTOC.BAT v2.8: Removed 2>NUL from MD commands, added /I to XCOPY
- DEPLOY.BAT v2.3: Removed 2>NUL, added CD \ATE and menux to AUTOEXEC

Tested successfully on TS-4R and TS-3R DOS machines.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-20 18:04:24 -07:00
parent d979fd81c1
commit 6d3271c144
3 changed files with 28 additions and 26 deletions

View File

@@ -1,6 +1,6 @@
@ECHO OFF
REM Computer to Network - Upload local files to network
REM Version: 2.4 - XCOPY /Y for unattended operation (DOS 6.22)
REM Version: 2.5 - Added /I flag, removed 2>NUL (DOS 6.22)
REM Last modified: 2026-01-20
REM Check MACHINE variable
@@ -16,14 +16,14 @@ ECHO Upload: %MACHINE% to Network
ECHO ==============================================================
ECHO.
REM Create target directories (ignore errors)
MD T:\%MACHINE% >NUL 2>NUL
MD T:\%MACHINE%\ProdSW >NUL 2>NUL
MD T:\%MACHINE%\LOGS >NUL 2>NUL
REM Create target directories (ignore errors with >NUL)
MD T:\%MACHINE% >NUL
MD T:\%MACHINE%\ProdSW >NUL
MD T:\%MACHINE%\LOGS >NUL
REM Copy batch files (XCOPY /Y = no prompts, no trailing backslash)
REM Copy batch files (XCOPY /Y /I = no prompts, assume directory)
ECHO Copying C:\BAT\*.BAT to T:\%MACHINE%\ProdSW...
XCOPY C:\BAT\*.BAT T:\%MACHINE%\ProdSW /Y >NUL
XCOPY C:\BAT\*.BAT T:\%MACHINE%\ProdSW /Y /I >NUL
ECHO [OK] Batch files copied
ECHO.
@@ -32,9 +32,9 @@ IF NOT EXIST C:\ATE\*.* GOTO SKIP_ATE
REM Copy ATE files
ECHO Copying C:\ATE files to T:\%MACHINE%\ProdSW...
IF EXIST C:\ATE\*.EXE XCOPY C:\ATE\*.EXE T:\%MACHINE%\ProdSW /Y >NUL
IF EXIST C:\ATE\*.DAT XCOPY C:\ATE\*.DAT T:\%MACHINE%\ProdSW /Y >NUL
IF EXIST C:\ATE\*.CFG XCOPY C:\ATE\*.CFG T:\%MACHINE%\ProdSW /Y >NUL
IF EXIST C:\ATE\*.EXE XCOPY C:\ATE\*.EXE T:\%MACHINE%\ProdSW /Y /I >NUL
IF EXIST C:\ATE\*.DAT XCOPY C:\ATE\*.DAT T:\%MACHINE%\ProdSW /Y /I >NUL
IF EXIST C:\ATE\*.CFG XCOPY C:\ATE\*.CFG T:\%MACHINE%\ProdSW /Y /I >NUL
ECHO [OK] ATE files copied
ECHO.
GOTO DONE

View File

@@ -1,7 +1,7 @@
@ECHO OFF
REM One-time deployment script for DOS Update System
REM Usage: T:\COMMON\ProdSW\DEPLOY.BAT machine-name
REM Version: 2.2 - XCOPY /Y for unattended operation (DOS 6.22)
REM Version: 2.3 - Removed 2>NUL (DOS 6.22 only supports >NUL)
REM Last modified: 2026-01-20
CLS
@@ -22,9 +22,9 @@ ECHO Press any key to install...
PAUSE >NUL
ECHO.
REM Create directories (ignore errors)
MD C:\BAT >NUL 2>NUL
MD T:\%MACHINE% >NUL 2>NUL
REM Create directories (ignore errors with >NUL)
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
@@ -45,7 +45,7 @@ ECHO SET PATH=C:\DOS;C:\NET;C:\BAT;C:\BATCH;C:\ >> C:\AUTOEXEC.BAT
ECHO PROMPT $P$G >> C:\AUTOEXEC.BAT
ECHO SET TEMP=C:\TEMP >> C:\AUTOEXEC.BAT
ECHO SET TMP=C:\TEMP >> C:\AUTOEXEC.BAT
ECHO MD C:\TEMP >NUL 2>NUL >> C:\AUTOEXEC.BAT
ECHO MD C:\TEMP >NUL >> C:\AUTOEXEC.BAT
ECHO CLS >> C:\AUTOEXEC.BAT
ECHO ECHO. >> C:\AUTOEXEC.BAT
ECHO ECHO Dataforth Test Machine: %MACHINE% >> C:\AUTOEXEC.BAT
@@ -61,6 +61,8 @@ ECHO :READY >> C:\AUTOEXEC.BAT
ECHO ECHO. >> C:\AUTOEXEC.BAT
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.

View File

@@ -1,6 +1,6 @@
@ECHO OFF
REM Network to Computer - Download software updates from network to local C: drive
REM Version: 2.7 - XCOPY /Y for unattended operation (DOS 6.22)
REM Version: 2.8 - Added /I flag, removed 2>NUL (DOS 6.22)
REM Last modified: 2026-01-20
REM Check MACHINE variable
@@ -16,16 +16,16 @@ ECHO Download Updates: %MACHINE% from Network
ECHO ==============================================================
ECHO.
REM Create local directories (ignore errors)
MD C:\BAT >NUL 2>NUL
MD C:\ATE >NUL 2>NUL
MD C:\NET >NUL 2>NUL
REM Create local directories (ignore errors with >NUL)
MD C:\BAT >NUL
MD C:\ATE >NUL
MD C:\NET >NUL
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 >NUL
XCOPY T:\COMMON\ProdSW\*.BAT C:\BAT /Y /I >NUL
ECHO [OK] Common batch files updated
ECHO.
@@ -33,10 +33,10 @@ 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 >NUL
IF EXIST T:\%MACHINE%\ProdSW\*.EXE XCOPY T:\%MACHINE%\ProdSW\*.EXE C:\ATE /Y >NUL
IF EXIST T:\%MACHINE%\ProdSW\*.DAT XCOPY T:\%MACHINE%\ProdSW\*.DAT C:\ATE /Y >NUL
IF EXIST T:\%MACHINE%\ProdSW\*.CFG XCOPY T:\%MACHINE%\ProdSW\*.CFG C:\ATE /Y >NUL
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
@@ -50,7 +50,7 @@ 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 >NUL
XCOPY T:\COMMON\NET\*.* C:\NET /Y /I >NUL
ECHO [OK] Network files updated
ECHO.
GOTO DONE