fix: Replace PAUSE with message syntax (not supported in DOS 6.22)
Issue: DOS 6.22 PAUSE command does not accept message text as parameter. The syntax "PAUSE message..." is a Windows NT/2000+ feature that causes command-line parameters (%1, %2, etc.) to be consumed/lost in DOS 6.22. Root cause: User ran "T:\DEPLOY.BAT TS-4R" but script reported "Machine name not provided". The parameter %1 was being consumed by the invalid PAUSE syntax at line 31 before reaching GET_MACHINE_NAME. Changes: - Fixed 46 PAUSE commands across 9 BAT files - Converted "PAUSE message..." to "ECHO message..." + "PAUSE" - Updated check-dos-compatibility.ps1 to detect PAUSE with message - Created fix-pause-syntax.ps1 automated fix script Example fix: BEFORE (Windows NT+ syntax, causes parameter loss): PAUSE Press any key to continue... AFTER (DOS 6.22 compatible): ECHO Press any key to continue... PAUSE DOS 6.22 PAUSE command: - Syntax: PAUSE (no parameters) - Displays: "Press any key to continue..." - Cannot customize message (built-in text only) Files modified: - DEPLOY.BAT: 10 PAUSE commands fixed - UPDATE.BAT: 7 PAUSE commands fixed - CTONW.BAT: 8 PAUSE commands fixed - NWTOC.BAT: 6 PAUSE commands fixed - REBOOT.BAT: 4 PAUSE commands fixed - STAGE.BAT: 6 PAUSE commands fixed - CHECKUPD.BAT: 2 PAUSE commands fixed - DOSTEST.BAT: 2 PAUSE commands fixed - AUTOEXEC.BAT: 1 PAUSE command fixed Deployed to: - D2TESTNAS: /data/test/*.BAT (9,908 bytes for DEPLOY.BAT) Testing: Should now correctly receive command-line parameter: T:\DEPLOY.BAT TS-4R Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
30
DEPLOY.BAT
30
DEPLOY.BAT
@@ -29,7 +29,8 @@ ECHO - STAGE.BAT (System file staging)
|
||||
ECHO - REBOOT.BAT (Apply updates on reboot)
|
||||
ECHO - CHECKUPD.BAT (Check for updates)
|
||||
ECHO.
|
||||
PAUSE Press any key to continue...
|
||||
ECHO Press any key to continue...
|
||||
PAUSE
|
||||
ECHO.
|
||||
|
||||
REM ==================================================================
|
||||
@@ -65,7 +66,8 @@ ECHO NET USE T: \\D2TESTNAS\test /YES
|
||||
ECHO.
|
||||
ECHO Then run DEPLOY.BAT again.
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
REM ==================================================================
|
||||
@@ -101,7 +103,8 @@ ECHO - CHECKUPD.BAT
|
||||
ECHO.
|
||||
ECHO Contact system administrator.
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
REM ==================================================================
|
||||
@@ -137,7 +140,8 @@ ECHO.
|
||||
ECHO Machine name must match folder on T: drive.
|
||||
ECHO Example: If this is TS-4R, T:\TS-4R\ must exist
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:MACHINE_FOLDER_ERROR
|
||||
@@ -149,7 +153,8 @@ ECHO - T: drive is writable
|
||||
ECHO - Network connection is stable
|
||||
ECHO - Permissions to create directories
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
REM ==================================================================
|
||||
@@ -221,7 +226,8 @@ GOTO UPDATE_AUTOEXEC
|
||||
ECHO.
|
||||
ECHO [ERROR] Could not create C:\BAT directory
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
:COPY_ERROR
|
||||
@@ -233,7 +239,8 @@ ECHO - T: drive is accessible
|
||||
ECHO - C: drive has free space
|
||||
ECHO - No file locks on C:\BAT\
|
||||
ECHO.
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
REM ==================================================================
|
||||
@@ -277,7 +284,8 @@ ECHO 2. Find line: SET MACHINE=...
|
||||
ECHO 3. Change to: SET MACHINE=%MACHINE%
|
||||
ECHO 4. Save and reboot
|
||||
ECHO.
|
||||
PAUSE Press any key to continue...
|
||||
ECHO Press any key to continue...
|
||||
PAUSE
|
||||
GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
:AUTOEXEC_ERROR
|
||||
@@ -287,7 +295,8 @@ ECHO.
|
||||
ECHO You must manually add this line to C:\AUTOEXEC.BAT:
|
||||
ECHO SET MACHINE=%MACHINE%
|
||||
ECHO.
|
||||
PAUSE Press any key to continue...
|
||||
ECHO Press any key to continue...
|
||||
PAUSE
|
||||
GOTO DEPLOYMENT_COMPLETE
|
||||
|
||||
REM ==================================================================
|
||||
@@ -339,7 +348,8 @@ ECHO Machine: %MACHINE% >> T:\%MACHINE%\DEPLOY.LOG
|
||||
ECHO Files installed to: C:\BAT\ >> T:\%MACHINE%\DEPLOY.LOG
|
||||
ECHO AUTOEXEC.BAT backup: C:\AUTOEXEC.SAV >> T:\%MACHINE%\DEPLOY.LOG
|
||||
|
||||
PAUSE Press any key to exit...
|
||||
ECHO Press any key to exit...
|
||||
PAUSE
|
||||
GOTO END
|
||||
|
||||
REM ==================================================================
|
||||
|
||||
Reference in New Issue
Block a user