Issue: When AUTOEXEC.BAT already contained "SET MACHINE=" line, DEPLOY.BAT would detect it and show "Manual edit required" message, then do nothing - leaving the old value in place. User reported: "set is still at the end of autoexec" - confirming the old SET MACHINE line was not being updated. Solution: MACHINE_EXISTS section now automatically replaces the old SET MACHINE= line with new value and inserts it at line 2 (after @ECHO OFF). Changes: BEFORE (manual edit prompt): :MACHINE_EXISTS - Show warning - Ask "Update MACHINE variable? (Y/N)" - Display "Manual edit required" instructions - User must manually edit AUTOEXEC.BAT - GOTO INSTALL_BATCH_FILES AFTER (automatic update): :MACHINE_EXISTS - Show current value - Create temp file with @ECHO OFF - Add SET MACHINE=%MACHINE% at line 2 - Filter out old @ECHO OFF and SET MACHINE= lines - Replace original with updated version - Display confirmation message - GOTO INSTALL_BATCH_FILES Implementation: 1. Create C:\AUTOEXEC.TMP with @ECHO OFF 2. Add SET MACHINE=%MACHINE% at line 2 3. TYPE C:\AUTOEXEC.BAT | FIND /V "@ECHO OFF" | FIND /V "SET MACHINE=" (removes duplicate @ECHO OFF and all old SET MACHINE= lines) 4. COPY temp file over original 5. DELETE temp file Files modified: - DEPLOY.BAT: Lines 289-312 (MACHINE_EXISTS section) - Removed CHOICE prompt and manual edit instructions - Now automatically updates AUTOEXEC.BAT - Created deploy-to-ad2.ps1 for deploying to AD2 Benefits: - No user intervention required - SET MACHINE always at line 2 (before any scripts run) - Old/wrong machine name automatically replaced - Consistent behavior whether SET MACHINE exists or not Deployed to: - D2TESTNAS: /data/test/DEPLOY.BAT - AD2: C:/scripts/sync-copies/bat-files/*.BAT (in progress) Testing: Run T:\DEPLOY.BAT TS-4R on machine that already has AUTOEXEC.BAT with SET MACHINE=OLD_NAME - should automatically update to SET MACHINE=TS-4R at line 2. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.7 KiB
1.7 KiB