diff --git a/CTONW.BAT b/CTONW.BAT index 9287577..6d5db50 100644 --- a/CTONW.BAT +++ b/CTONW.BAT @@ -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) diff --git a/DEPLOY.BAT b/DEPLOY.BAT index befc65a..8169d71 100644 --- a/DEPLOY.BAT +++ b/DEPLOY.BAT @@ -178,23 +178,23 @@ IF NOT EXIST C:\BAT\*.* GOTO BAT_DIR_ERROR ECHO Copying update system files to C:\BAT\... REM Copy batch files from network to local machine -XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] NWTOC.BAT -XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CTONW.BAT -XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] UPDATE.BAT -XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] STAGE.BAT -XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CHECKUPD.BAT diff --git a/DEPLOY_FROM_AD2.BAT b/DEPLOY_FROM_AD2.BAT index 8f5bd6d..373d989 100644 --- a/DEPLOY_FROM_AD2.BAT +++ b/DEPLOY_FROM_AD2.BAT @@ -178,23 +178,23 @@ IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR ECHO Copying update system files to C:\BAT\... REM Copy batch files from network to local machine -XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] NWTOC.BAT -XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CTONW.BAT -XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] UPDATE.BAT -XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] STAGE.BAT -XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CHECKUPD.BAT diff --git a/DEPLOY_FROM_NAS.BAT b/DEPLOY_FROM_NAS.BAT index 8f5bd6d..373d989 100644 --- a/DEPLOY_FROM_NAS.BAT +++ b/DEPLOY_FROM_NAS.BAT @@ -178,23 +178,23 @@ IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR ECHO Copying update system files to C:\BAT\... REM Copy batch files from network to local machine -XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] NWTOC.BAT -XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CTONW.BAT -XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] UPDATE.BAT -XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] STAGE.BAT -XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CHECKUPD.BAT diff --git a/DEPLOY_TEST.BAT b/DEPLOY_TEST.BAT index 8f5bd6d..373d989 100644 --- a/DEPLOY_TEST.BAT +++ b/DEPLOY_TEST.BAT @@ -178,23 +178,23 @@ IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR ECHO Copying update system files to C:\BAT\... REM Copy batch files from network to local machine -XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] NWTOC.BAT -XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CTONW.BAT -XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] UPDATE.BAT -XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] STAGE.BAT -XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CHECKUPD.BAT diff --git a/DEPLOY_VERIFY.BAT b/DEPLOY_VERIFY.BAT index 8f5bd6d..373d989 100644 --- a/DEPLOY_VERIFY.BAT +++ b/DEPLOY_VERIFY.BAT @@ -178,23 +178,23 @@ IF NOT EXIST C:\BAT\NUL GOTO BAT_DIR_ERROR ECHO Copying update system files to C:\BAT\... REM Copy batch files from network to local machine -XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\NWTOC.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] NWTOC.BAT -XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CTONW.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CTONW.BAT -XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\UPDATE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] UPDATE.BAT -XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\STAGE.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] STAGE.BAT -XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y /Q +XCOPY T:\COMMON\ProdSW\CHECKUPD.BAT C:\BAT\ /Y IF ERRORLEVEL 4 GOTO COPY_ERROR ECHO [OK] CHECKUPD.BAT diff --git a/NWTOC.BAT b/NWTOC.BAT index c35e3ad..ce2b474 100644 --- a/NWTOC.BAT +++ b/NWTOC.BAT @@ -130,7 +130,7 @@ FOR %%F IN (C:\BAT\*.BAT) DO COPY %%F %%~dpnF.BAK >NUL 2>NUL REM Copy newer batch files from COMMON ECHO Copying updated files... -XCOPY T:\COMMON\ProdSW\*.bat C:\BAT\ /D /Y /Q +XCOPY T:\COMMON\ProdSW\*.bat C:\BAT\ /D /Y IF ERRORLEVEL 4 GOTO UPDATE_ERROR_INIT IF ERRORLEVEL 2 GOTO UPDATE_ERROR_USER IF ERRORLEVEL 1 ECHO [OK] No new batch files in COMMON @@ -234,7 +234,7 @@ FOR %%F IN (C:\NET\*.DOS) DO COPY %%F %%~dpnF.BAK >NUL 2>NUL REM Copy newer network files ECHO Copying updated network files... -XCOPY T:\COMMON\NET\*.* C:\NET\ /D /Y /Q +XCOPY T:\COMMON\NET\*.* C:\NET\ /D /Y IF NOT ERRORLEVEL 1 ECHO [OK] Network client files updated GOTO UPDATE_COMPLETE diff --git a/UPDATE.BAT b/UPDATE.BAT index 5f0ca9b..eae7848 100644 --- a/UPDATE.BAT +++ b/UPDATE.BAT @@ -118,9 +118,9 @@ REM /D = Copy only files that are newer REM /H = Copy hidden and system files REM /K = Copy attributes REM /C = Continue on errors -REM /Q = Quiet mode (don't show filenames) +REM = Quiet mode (don't show filenames) -XCOPY C:\*.* T:\%MACHINE%\BACKUP /S /E /Y /D /H /K /C /Q +XCOPY C:\*.* T:\%MACHINE%\BACKUP /S /E /Y /D /H /K /C REM Check XCOPY error level REM 0 = Files copied OK diff --git a/check-dos-compatibility.ps1 b/check-dos-compatibility.ps1 index ca0a06b..105c245 100644 --- a/check-dos-compatibility.ps1 +++ b/check-dos-compatibility.ps1 @@ -26,6 +26,7 @@ $IncompatiblePatterns = @( @{Pattern='&&'; Description='&& operator - NOT in DOS 6.22'}, @{Pattern='\|\|'; Description='|| operator - NOT in DOS 6.22'}, @{Pattern='\\NUL(?!\s|$)'; Description='\NUL as filename - INVALID (use \*.* for directory test)'}, + @{Pattern='XCOPY.*\/Q'; Description='XCOPY /Q (quiet mode) - NOT in DOS 6.22'}, @{Pattern='CHOICE\s+/[A-Z]'; Description='CHOICE with options - Check if CHOICE.COM available'}, @{Pattern='START\s+'; Description='START command - NOT in DOS 6.22'} ) diff --git a/fix-xcopy-q-switch.ps1 b/fix-xcopy-q-switch.ps1 new file mode 100644 index 0000000..4920a99 --- /dev/null +++ b/fix-xcopy-q-switch.ps1 @@ -0,0 +1,62 @@ +# Fix XCOPY /Q switch - not supported in DOS 6.22 +# Removes /Q switch from all XCOPY commands + +$BATFiles = @( + "DEPLOY.BAT", + "UPDATE.BAT", + "CTONW.BAT", + "NWTOC.BAT", + "DEPLOY_VERIFY.BAT", + "DEPLOY_TEST.BAT", + "DEPLOY_FROM_NAS.BAT", + "DEPLOY_FROM_AD2.BAT" +) + +Write-Host "[INFO] Fixing XCOPY /Q switches (not in DOS 6.22)" -ForegroundColor Cyan +Write-Host "" + +$TotalFixed = 0 + +foreach ($File in $BATFiles) { + $FilePath = "D:\ClaudeTools\$File" + + if (-not (Test-Path $FilePath)) { + Write-Host "[SKIP] $File - not found" -ForegroundColor Yellow + continue + } + + Write-Host "Processing: $File" -ForegroundColor White + + $Content = Get-Content $FilePath -Raw + $OriginalContent = $Content + + # Remove /Q switch from XCOPY commands + # Pattern: XCOPY ... /Y /Q -> XCOPY ... /Y + # Pattern: XCOPY ... /Q -> XCOPY ... + $Content = $Content -replace '(\s+)\/Q(\s+)', '$1$2' + $Content = $Content -replace '(\s+)\/Q(\r?\n)', '$1$2' + + if ($Content -ne $OriginalContent) { + $ChangeCount = ([regex]::Matches($OriginalContent, '/Q')).Count + Set-Content $FilePath $Content -NoNewline + Write-Host " [OK] Removed $ChangeCount /Q switches" -ForegroundColor Green + $TotalFixed += $ChangeCount + } else { + Write-Host " [OK] No /Q switches found" -ForegroundColor Green + } +} + +Write-Host "" +Write-Host "[SUCCESS] Fixed $TotalFixed /Q switches across all files" -ForegroundColor Green +Write-Host "" +Write-Host "DOS 6.22 XCOPY switches (valid):" -ForegroundColor Cyan +Write-Host " /Y Suppress prompts (OK)" -ForegroundColor White +Write-Host " /S Copy subdirectories (OK)" -ForegroundColor White +Write-Host " /E Copy empty subdirectories (OK)" -ForegroundColor White +Write-Host " /D Only copy newer files (OK)" -ForegroundColor White +Write-Host " /H Copy hidden files (OK)" -ForegroundColor White +Write-Host " /K Copy attributes (OK)" -ForegroundColor White +Write-Host " /C Continue on errors (OK)" -ForegroundColor White +Write-Host "" +Write-Host " /Q Quiet mode (NOT SUPPORTED)" -ForegroundColor Red +Write-Host ""