fix: Remove NUL device references from CTONW.BAT and add CTONWTXT.BAT

Fixed CTONW.BAT DOS 6.22 compatibility:
- Changed 14 directory existence checks from \NUL to \*.*
  * C:\BAT\NUL -> C:\BAT\*.*
  * T:\%MACHINE%\NUL -> T:\%MACHINE%\*.*
  * %TARGETDIR%\NUL -> %TARGETDIR%\*.*
  * %LOGSDIR%\NUL -> %LOGSDIR%\*.*
  * All log subdirectories (8BLOG, DSCLOG, HVLOG, etc.)
  * All data source directories (8BDATA, DSCDATA, HVDATA, etc.)

- Preserved correct >NUL 2>NUL output redirection (lowercase)

Added CTONWTXT.BAT:
- Text datasheet archiving script called by ARCHBAT.BAT
- Copies C:\STAGE\*.txt to network target directory
- Already DOS 6.22 compatible (no modifications needed)

All BAT files for ARCHBAT.BAT workflow now deployed:
- NWTOC.BAT (network to computer)
- CTONW.BAT (computer to network)
- CTONWTXT.BAT (text file archiving)

NUL is a reserved device name in DOS/Windows and cannot be used
as a filename or in path existence checks. Using *.* wildcard
correctly tests for directory existence.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-19 18:20:56 -07:00
parent d24e56c558
commit 2121a56894
2 changed files with 51 additions and 17 deletions

View File

@@ -144,7 +144,7 @@ REM ==================================================================
REM STEP 5: Verify source directories exist REM STEP 5: Verify source directories exist
REM ================================================================== REM ==================================================================
IF NOT EXIST C:\BAT\NUL GOTO NO_BAT_DIR IF NOT EXIST C:\BAT\*.* GOTO NO_BAT_DIR
GOTO CHECK_TARGET_DIR GOTO CHECK_TARGET_DIR
:NO_BAT_DIR :NO_BAT_DIR
@@ -161,19 +161,19 @@ REM ==================================================================
:CHECK_TARGET_DIR :CHECK_TARGET_DIR
REM Create machine directory if uploading to machine-specific location REM Create machine directory if uploading to machine-specific location
IF "%TARGET%"=="MACHINE" IF NOT EXIST T:\%MACHINE%\NUL MD T:\%MACHINE% IF "%TARGET%"=="MACHINE" IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE%
REM Create ProdSW directory REM Create ProdSW directory
IF NOT EXIST %TARGETDIR%\NUL MD %TARGETDIR% IF NOT EXIST %TARGETDIR%\*.* MD %TARGETDIR%
REM Verify ProdSW directory was created REM Verify ProdSW directory was created
IF NOT EXIST %TARGETDIR%\NUL GOTO TARGET_DIR_ERROR IF NOT EXIST %TARGETDIR%\*.* GOTO TARGET_DIR_ERROR
ECHO [OK] Target directory ready: %TARGETDIR% ECHO [OK] Target directory ready: %TARGETDIR%
REM Create LOGS directory for machine-specific uploads REM Create LOGS directory for machine-specific uploads
IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\NUL MD %LOGSDIR% IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\*.* MD %LOGSDIR%
IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\NUL GOTO LOGS_DIR_ERROR IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\*.* GOTO LOGS_DIR_ERROR
IF "%TARGET%"=="MACHINE" ECHO [OK] Logs directory ready: %LOGSDIR% IF "%TARGET%"=="MACHINE" ECHO [OK] Logs directory ready: %LOGSDIR%
ECHO. ECHO.
@@ -208,7 +208,7 @@ IF "%TARGET%"=="COMMON" GOTO SKIP_PROGRAMS
ECHO [2/3] Uploading programs and config from C:\ATE... ECHO [2/3] Uploading programs and config from C:\ATE...
REM Check if ATE directory exists REM Check if ATE directory exists
IF NOT EXIST C:\ATE\NUL GOTO NO_ATE_DIR IF NOT EXIST C:\ATE\*.* GOTO NO_ATE_DIR
REM Copy programs (.EXE, .BAT, .CFG, etc.) - exclude DAT files REM Copy programs (.EXE, .BAT, .CFG, etc.) - exclude DAT files
ECHO Copying programs to %TARGETDIR%... ECHO Copying programs to %TARGETDIR%...
@@ -239,27 +239,27 @@ REM ==================================================================
ECHO [3/3] Uploading test data to LOGS... ECHO [3/3] Uploading test data to LOGS...
REM Create log subdirectories REM Create log subdirectories
IF NOT EXIST %LOGSDIR%\8BLOG\NUL MD %LOGSDIR%\8BLOG IF NOT EXIST %LOGSDIR%\8BLOG\*.* MD %LOGSDIR%\8BLOG
IF NOT EXIST %LOGSDIR%\DSCLOG\NUL MD %LOGSDIR%\DSCLOG IF NOT EXIST %LOGSDIR%\DSCLOG\*.* MD %LOGSDIR%\DSCLOG
IF NOT EXIST %LOGSDIR%\HVLOG\NUL MD %LOGSDIR%\HVLOG IF NOT EXIST %LOGSDIR%\HVLOG\*.* MD %LOGSDIR%\HVLOG
IF NOT EXIST %LOGSDIR%\PWRLOG\NUL MD %LOGSDIR%\PWRLOG IF NOT EXIST %LOGSDIR%\PWRLOG\*.* MD %LOGSDIR%\PWRLOG
IF NOT EXIST %LOGSDIR%\RMSLOG\NUL MD %LOGSDIR%\RMSLOG IF NOT EXIST %LOGSDIR%\RMSLOG\*.* MD %LOGSDIR%\RMSLOG
IF NOT EXIST %LOGSDIR%\7BLOG\NUL MD %LOGSDIR%\7BLOG IF NOT EXIST %LOGSDIR%\7BLOG\*.* MD %LOGSDIR%\7BLOG
REM Upload test data files to appropriate log folders REM Upload test data files to appropriate log folders
ECHO Uploading test data files... ECHO Uploading test data files...
REM 8-channel data: 8BDATA -> 8BLOG REM 8-channel data: 8BDATA -> 8BLOG
IF EXIST C:\ATE\8BDATA\NUL XCOPY C:\ATE\8BDATA\*.DAT %LOGSDIR%\8BLOG\ /Y >NUL 2>NUL IF EXIST C:\ATE\8BDATA\*.* XCOPY C:\ATE\8BDATA\*.DAT %LOGSDIR%\8BLOG\ /Y >NUL 2>NUL
REM DSC data: DSCDATA -> DSCLOG REM DSC data: DSCDATA -> DSCLOG
IF EXIST C:\ATE\DSCDATA\NUL XCOPY C:\ATE\DSCDATA\*.DAT %LOGSDIR%\DSCLOG\ /Y >NUL 2>NUL IF EXIST C:\ATE\DSCDATA\*.* XCOPY C:\ATE\DSCDATA\*.DAT %LOGSDIR%\DSCLOG\ /Y >NUL 2>NUL
REM HV data: HVDATA -> HVLOG REM HV data: HVDATA -> HVLOG
IF EXIST C:\ATE\HVDATA\NUL XCOPY C:\ATE\HVDATA\*.DAT %LOGSDIR%\HVLOG\ /Y >NUL 2>NUL IF EXIST C:\ATE\HVDATA\*.* XCOPY C:\ATE\HVDATA\*.DAT %LOGSDIR%\HVLOG\ /Y >NUL 2>NUL
REM Power data: PWRDATA -> PWRLOG REM Power data: PWRDATA -> PWRLOG
IF EXIST C:\ATE\PWRDATA\NUL XCOPY C:\ATE\PWRDATA\*.DAT %LOGSDIR%\PWRLOG\ /Y >NUL 2>NUL IF EXIST C:\ATE\PWRDATA\*.* XCOPY C:\ATE\PWRDATA\*.DAT %LOGSDIR%\PWRLOG\ /Y >NUL 2>NUL
REM RMS data: RMSDATA -> RMSLOG REM RMS data: RMSDATA -> RMSLOG
IF EXIST C:\ATE\RMSDATA\*.* XCOPY C:\ATE\RMSDATA\*.DAT %LOGSDIR%\RMSLOG\ /Y >NUL 2>NUL IF EXIST C:\ATE\RMSDATA\*.* XCOPY C:\ATE\RMSDATA\*.DAT %LOGSDIR%\RMSLOG\ /Y >NUL 2>NUL

34
CTONWTXT.BAT Normal file
View File

@@ -0,0 +1,34 @@
@ECHO OFF
REM PWR: 2013-02-06
ECHO .....................................................
ECHO Archiving text datasheet files to %2 on network...
ECHO CtoNWtxt.bat > C:\ATE\CtoNWtxt.log
ECHO 2013-02-06 Version >> C:\ATE\CtoNWtxt.log
ECHO ..................................................... >> C:\ATE\CtoNWtxt.log
ECHO Important! This log file is from the previous >> C:\ATE\CtoNWtxt.log
ECHO operation since C to Network >> C:\ATE\CtoNWtxt.log
ECHO archiving is before text file >> C:\ATE\CtoNWtxt.log
ECHO archiving! >> C:\ATE\CtoNWtxt.log
ECHO ..................................................... >> C:\ATE\CtoNWtxt.log
ECHO Copying from C:\STAGE\*.txt to %2 >> C:\ATE\CtoNWtxt.log
IF EXIST C:\STAGE\*.txt GOTO FILEXFER
REM IF ERRORLEVEL=1 ECHO No files were found to transfer
ECHO No files were found to transfer
ECHO No files were found to transfer >> C:\ATE\CtoNWtxt.log
GOTO END
:FILEXFER
IF NOT EXIST %2\serve.sys GOTO NODIR
copy C:\STAGE\*.txt %2 >> C:\ATE\CtoNWtxt.log
IF ERRORLEVEL=0 ECHO Copy Completed normally
DEL C:\STAGE\*.txt >> C:\ATE\CtoNWtxt.log
ECHO Network archiving of text datasheet files to %2 done!
ECHO .....................................................
GOTO END
:NODIR
ECHO %2\serve.sys not found. >> C:\ATE\CtoNWtxt.log
ECHO %2\serve.sys not found. Check Network connection.
:END
ECHO Network archiving of text datasheet files to %2 done!
ECHO .....................................................