fix: Remove XCOPY /Q switch from all batch files

Issue: DOS 6.22 does not support XCOPY /Q (quiet mode) switch,
causing "Invalid switch - /Q" error during DEPLOY.BAT execution.

Changes:
- Removed /Q switch from 40 XCOPY commands across 8 BAT files
- Updated check-dos-compatibility.ps1 to detect XCOPY /Q usage
- Created fix-xcopy-q-switch.ps1 automated fix script

Files modified:
- DEPLOY.BAT: 5 XCOPY commands fixed
- UPDATE.BAT: 2 XCOPY commands fixed
- CTONW.BAT: 11 XCOPY commands fixed
- NWTOC.BAT: 2 XCOPY commands fixed
- DEPLOY_VERIFY.BAT, DEPLOY_TEST.BAT, DEPLOY_FROM_NAS.BAT,
  DEPLOY_FROM_AD2.BAT: Test/verification copies updated

DOS 6.22 XCOPY valid switches: /Y /S /E /D /H /K /C
Invalid switches: /Q (quiet mode)

Deployed to:
- D2TESTNAS: /data/test/*.BAT (via scp -O)
- AD2: C:/scripts/sync-copies/bat-files/*.BAT

Testing: DOS machine error "Invalid switch - /Q" resolved

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-19 17:06:50 -07:00
parent 116778cad9
commit 0a1233e615
10 changed files with 103 additions and 40 deletions

View File

@@ -190,7 +190,7 @@ FOR %%F IN (%TARGETDIR%\*.BAT) DO COPY %%F %%~dpnF.BAK >NUL 2>NUL
REM Copy batch files to network
ECHO Copying files to %TARGETDIR%...
XCOPY C:\BAT\*.BAT %TARGETDIR%\ /Y /Q
XCOPY C:\BAT\*.BAT %TARGETDIR%\ /Y
IF ERRORLEVEL 4 GOTO UPLOAD_ERROR_INIT
IF ERRORLEVEL 2 GOTO UPLOAD_ERROR_USER
IF ERRORLEVEL 1 ECHO [WARNING] No batch files found in C:\BAT
@@ -212,10 +212,10 @@ IF NOT EXIST C:\ATE\NUL GOTO NO_ATE_DIR
REM Copy programs (.EXE, .BAT, .CFG, etc.) - exclude DAT files
ECHO Copying programs to %TARGETDIR%...
XCOPY C:\ATE\*.EXE %TARGETDIR%\ /S /Y /Q >NUL 2>NUL
XCOPY C:\ATE\*.BAT %TARGETDIR%\ /S /Y /Q >NUL 2>NUL
XCOPY C:\ATE\*.CFG %TARGETDIR%\ /S /Y /Q >NUL 2>NUL
XCOPY C:\ATE\*.TXT %TARGETDIR%\ /S /Y /Q >NUL 2>NUL
XCOPY C:\ATE\*.EXE %TARGETDIR%\ /S /Y >NUL 2>NUL
XCOPY C:\ATE\*.BAT %TARGETDIR%\ /S /Y >NUL 2>NUL
XCOPY C:\ATE\*.CFG %TARGETDIR%\ /S /Y >NUL 2>NUL
XCOPY C:\ATE\*.TXT %TARGETDIR%\ /S /Y >NUL 2>NUL
ECHO [OK] Programs uploaded to ProdSW
ECHO.
@@ -250,22 +250,22 @@ REM Upload test data files to appropriate log folders
ECHO Uploading test data files...
REM 8-channel data: 8BDATA -> 8BLOG
IF EXIST C:\ATE\8BDATA\NUL XCOPY C:\ATE\8BDATA\*.DAT %LOGSDIR%\8BLOG\ /Y /Q >NUL 2>NUL
IF EXIST C:\ATE\8BDATA\NUL XCOPY C:\ATE\8BDATA\*.DAT %LOGSDIR%\8BLOG\ /Y >NUL 2>NUL
REM DSC data: DSCDATA -> DSCLOG
IF EXIST C:\ATE\DSCDATA\NUL XCOPY C:\ATE\DSCDATA\*.DAT %LOGSDIR%\DSCLOG\ /Y /Q >NUL 2>NUL
IF EXIST C:\ATE\DSCDATA\NUL XCOPY C:\ATE\DSCDATA\*.DAT %LOGSDIR%\DSCLOG\ /Y >NUL 2>NUL
REM HV data: HVDATA -> HVLOG
IF EXIST C:\ATE\HVDATA\NUL XCOPY C:\ATE\HVDATA\*.DAT %LOGSDIR%\HVLOG\ /Y /Q >NUL 2>NUL
IF EXIST C:\ATE\HVDATA\NUL XCOPY C:\ATE\HVDATA\*.DAT %LOGSDIR%\HVLOG\ /Y >NUL 2>NUL
REM Power data: PWRDATA -> PWRLOG
IF EXIST C:\ATE\PWRDATA\NUL XCOPY C:\ATE\PWRDATA\*.DAT %LOGSDIR%\PWRLOG\ /Y /Q >NUL 2>NUL
IF EXIST C:\ATE\PWRDATA\NUL XCOPY C:\ATE\PWRDATA\*.DAT %LOGSDIR%\PWRLOG\ /Y >NUL 2>NUL
REM RMS data: RMSDATA -> RMSLOG
IF EXIST C:\ATE\RMSDATA\*.* XCOPY C:\ATE\RMSDATA\*.DAT %LOGSDIR%\RMSLOG\ /Y /Q >NUL 2>NUL
IF EXIST C:\ATE\RMSDATA\*.* XCOPY C:\ATE\RMSDATA\*.DAT %LOGSDIR%\RMSLOG\ /Y >NUL 2>NUL
REM 7-channel data: 7BDATA -> 7BLOG
IF EXIST C:\ATE\7BDATA\*.* XCOPY C:\ATE\7BDATA\*.DAT %LOGSDIR%\7BLOG\ /Y /Q >NUL 2>NUL
IF EXIST C:\ATE\7BDATA\*.* XCOPY C:\ATE\7BDATA\*.DAT %LOGSDIR%\7BLOG\ /Y >NUL 2>NUL
ECHO [OK] Test data uploaded to LOGS (for database import)