@ECHO OFF REM Computer to Network - Upload local changes and test data to network REM Programs: C:\BAT -> T:\COMMON\ProdSW or T:\%MACHINE%\ProdSW REM Test data: C:\ATE -> T:\%MACHINE%\LOGS (for database import) REM Version: 2.0 - DOS 6.22 compatible REM Last modified: 2026-01-19 REM Verify MACHINE environment variable is set IF NOT "%MACHINE%"=="" GOTO CHECK_DRIVE ECHO. ECHO [ERROR] MACHINE variable not set ECHO. ECHO MACHINE must be set in AUTOEXEC.BAT ECHO Run DEPLOY.BAT to configure this machine ECHO. PAUSE GOTO END :CHECK_DRIVE REM Verify T: drive is accessible DIR T:\ >nul IF ERRORLEVEL 1 GOTO NO_T_DRIVE C: IF NOT EXIST T:\*.* GOTO NO_T_DRIVE GOTO CHECK_TARGET :NO_T_DRIVE C: ECHO. ECHO [ERROR] T: drive not available ECHO. ECHO Network drive must be mapped to \\D2TESTNAS\test ECHO Run: C:\NET\STARTNET.BAT ECHO. PAUSE GOTO END :CHECK_TARGET REM Default target is machine-specific SET TARGET=MACHINE SET TARGETDIR=T:\%MACHINE%\ProdSW SET LOGSDIR=T:\%MACHINE%\LOGS REM Check for COMMON parameter IF "%1"=="COMMON" SET TARGET=COMMON IF "%1"=="common" SET TARGET=COMMON IF "%1"=="Common" SET TARGET=COMMON IF "%TARGET%"=="COMMON" SET TARGETDIR=T:\COMMON\ProdSW REM Confirm COMMON upload (affects all machines) IF NOT "%TARGET%"=="COMMON" GOTO DISPLAY_BANNER ECHO. ECHO ============================================================== ECHO [WARNING] COMMON Upload Confirmation ECHO ============================================================== ECHO. ECHO You are about to upload files to COMMON location ECHO This will affect ALL DOS machines at Dataforth ECHO. ECHO Other machines will receive these files on next reboot ECHO. ECHO Continue? (Y/N) ECHO. REM Wait for user input (DOS 6.22 compatible) CHOICE /C:YN /N IF ERRORLEVEL 2 GOTO UPLOAD_CANCELLED IF ERRORLEVEL 1 GOTO DISPLAY_BANNER :UPLOAD_CANCELLED ECHO. ECHO [INFO] Upload cancelled ECHO. ECHO To upload to machine-specific location, run: CTONW ECHO. PAUSE GOTO END :DISPLAY_BANNER ECHO. ECHO ============================================================== ECHO Upload: %MACHINE% to Network ECHO ============================================================== ECHO Source: C:\BAT, C:\ATE IF "%TARGET%"=="COMMON" ECHO Target: %TARGETDIR% IF "%TARGET%"=="MACHINE" ECHO Targets: %TARGETDIR% (programs) IF "%TARGET%"=="MACHINE" ECHO %LOGSDIR% (test data) ECHO Target type: %TARGET% ECHO ============================================================== ECHO. REM Verify source directories exist IF NOT EXIST C:\BAT\*.* GOTO NO_BAT_DIR GOTO CHECK_TARGET_DIR :NO_BAT_DIR ECHO [ERROR] C:\BAT directory not found ECHO No files to upload ECHO. PAUSE GOTO END :CHECK_TARGET_DIR REM Create machine directory if uploading to machine-specific location IF "%TARGET%"=="MACHINE" IF NOT EXIST T:\%MACHINE%\*.* MD T:\%MACHINE% REM Create ProdSW directory IF NOT EXIST %TARGETDIR%\*.* MD %TARGETDIR% REM Verify ProdSW directory was created IF NOT EXIST %TARGETDIR%\*.* GOTO TARGET_DIR_ERROR ECHO [OK] Target directory ready: %TARGETDIR% REM Create LOGS directory for machine-specific uploads IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\*.* MD %LOGSDIR% IF "%TARGET%"=="MACHINE" IF NOT EXIST %LOGSDIR%\*.* GOTO LOGS_DIR_ERROR IF "%TARGET%"=="MACHINE" ECHO [OK] Logs directory ready: %LOGSDIR% ECHO. :UPLOAD_BATCH_FILES ECHO [1/3] Uploading batch files from C:\BAT... REM Backup existing files on network before overwriting ECHO Creating backups on network (.BAK files)... 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 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 IF NOT ERRORLEVEL 1 ECHO [OK] Batch files uploaded ECHO. :UPLOAD_PROGRAMS REM Skip programs for COMMON target (batch files only) IF "%TARGET%"=="COMMON" GOTO SKIP_PROGRAMS ECHO [2/3] Uploading programs and config from C:\ATE... REM Check if ATE directory exists IF NOT EXIST C:\ATE\*.* GOTO NO_ATE_DIR REM Copy programs (.EXE, .BAT, .CFG) - exclude DAT files (they go to LOGS) ECHO Copying programs to %TARGETDIR%... 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. GOTO UPLOAD_TEST_DATA :NO_ATE_DIR ECHO [INFO] C:\ATE directory not found ECHO Only batch files were uploaded GOTO SKIP_TEST_DATA :SKIP_PROGRAMS ECHO [2/3] Skipping programs/data (COMMON target only gets batch files) ECHO. GOTO SKIP_TEST_DATA :UPLOAD_TEST_DATA ECHO [3/3] Uploading test data to LOGS... REM Create log subdirectories IF NOT EXIST %LOGSDIR%\8BLOG\*.* MD %LOGSDIR%\8BLOG IF NOT EXIST %LOGSDIR%\DSCLOG\*.* MD %LOGSDIR%\DSCLOG IF NOT EXIST %LOGSDIR%\HVLOG\*.* MD %LOGSDIR%\HVLOG IF NOT EXIST %LOGSDIR%\PWRLOG\*.* MD %LOGSDIR%\PWRLOG IF NOT EXIST %LOGSDIR%\RMSLOG\*.* MD %LOGSDIR%\RMSLOG IF NOT EXIST %LOGSDIR%\7BLOG\*.* MD %LOGSDIR%\7BLOG 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\*.* XCOPY C:\ATE\8BDATA\*.DAT %LOGSDIR%\8BLOG\ /Y >NUL 2>NUL REM DSC data: DSCDATA -> DSCLOG IF EXIST C:\ATE\DSCDATA\*.* XCOPY C:\ATE\DSCDATA\*.DAT %LOGSDIR%\DSCLOG\ /Y >NUL 2>NUL REM HV data: HVDATA -> HVLOG IF EXIST C:\ATE\HVDATA\*.* XCOPY C:\ATE\HVDATA\*.DAT %LOGSDIR%\HVLOG\ /Y >NUL 2>NUL REM Power data: PWRDATA -> PWRLOG IF EXIST C:\ATE\PWRDATA\*.* 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 >NUL 2>NUL REM 7-channel data: 7BDATA -> 7BLOG 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) GOTO UPLOAD_COMPLETE :SKIP_TEST_DATA REM No test data upload for COMMON target GOTO UPLOAD_COMPLETE :UPLOAD_COMPLETE ECHO ============================================================== ECHO Upload Complete ECHO ============================================================== ECHO. ECHO Files uploaded to: ECHO %TARGETDIR% (software/config) IF "%TARGET%"=="MACHINE" ECHO %LOGSDIR% (test data for database import) ECHO. IF "%TARGET%"=="COMMON" ECHO [WARNING] Files uploaded to COMMON - will affect ALL machines IF "%TARGET%"=="COMMON" ECHO Other machines will receive these files on next reboot ECHO. ECHO Backup files (.BAK) created on network ECHO. IF "%TARGET%"=="MACHINE" ECHO To share these files with all machines, run: CTONW COMMON ECHO. GOTO END :TARGET_DIR_ERROR ECHO. ECHO [ERROR] Could not create target directory ECHO Target: %TARGETDIR% ECHO. ECHO Check: T: drive writable, sufficient disk space, stable network ECHO. PAUSE GOTO END :LOGS_DIR_ERROR ECHO. ECHO [ERROR] Could not create LOGS directory ECHO Target: %LOGSDIR% ECHO. ECHO Check: T: drive writable, sufficient disk space, stable network ECHO. PAUSE GOTO END :UPLOAD_ERROR_INIT ECHO. ECHO [ERROR] Upload initialization failed ECHO Possible causes: Insufficient memory, invalid path, or drive not accessible ECHO. PAUSE GOTO END :UPLOAD_ERROR_USER ECHO. ECHO [ERROR] Upload terminated by user (Ctrl+C) ECHO Upload may be incomplete - run CTONW again ECHO. PAUSE GOTO END :END REM Clean up environment variables SET TARGET= SET TARGETDIR= SET LOGSDIR=