Skip to content

Commit 7d65bb9

Browse files
committed
fix: batch utility unable to launch from folders with special characters in name #9
batch utility failed to launch when it resides in a folder with special characters such as `!`. this was caused by the global definition `enabledelayedexpansion`. migrated flag to local menu functions
1 parent e31ea4a commit 7d65bb9

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

wputility.bat

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@ECHO OFF
22
TITLE WPU (Windows Personalization Utility)
3-
SETLOCAL ENABLEDELAYEDEXPANSION
43
MODE con:cols=125 lines=40
54
MODE 125,40
65
GOTO comment_end
@@ -34,7 +33,7 @@ set dir_home=%~dp0
3433
set dir_reg=%dir_home%registryBackup
3534
set repo_url=https://github.com/Aetherinox/pause-windows-updates
3635
set repo_author=Aetherinox
37-
set repo_version=1.3.0
36+
set repo_version=1.3.1
3837
set "folder_distrb=c:\windows\softwaredistribution"
3938
set "folder_uhssvc=c:\Program Files\Microsoft Update Health Tools"
4039
set cnt_files=0
@@ -208,8 +207,7 @@ for /f "UseBackQ Tokens=1-4" %%A In ( `powershell "$OS=GWmi Win32_OperatingSyste
208207
:: # #
209208

210209
:main
211-
212-
setlocal
210+
setlocal enabledelayedexpansion
213211

214212
:: # #
215213
:: @desc Check user registry to see if automatic updates are currently enabled or disabled
@@ -445,7 +443,7 @@ goto :EOF
445443
:: # #
446444

447445
:menuInstall
448-
setlocal
446+
setlocal enabledelayedexpansion
449447
cls
450448

451449
set q_mnu_install=
@@ -495,7 +493,7 @@ goto :EOF
495493
:: # #
496494

497495
:menuAdvanced
498-
setlocal
496+
setlocal enabledelayedexpansion
499497
cls
500498

501499
:: set states
@@ -559,7 +557,7 @@ goto :EOF
559557
:: # #
560558

561559
:menuServices
562-
setlocal
560+
setlocal enabledelayedexpansion
563561
cls
564562
set q_mnu_serv=
565563

@@ -883,7 +881,6 @@ goto :EOF
883881
:: # #
884882

885883
:taskBackupRegistry
886-
887884
setlocal
888885

889886
echo. %purplel% Status %u% Starting registry backup, this may take a few moments%u%
@@ -966,7 +963,6 @@ goto :EOF
966963
:: # #
967964

968965
:taskStartErase
969-
970966
setlocal
971967

972968
echo.
@@ -1033,6 +1029,8 @@ goto :EOF
10331029
:: # #
10341030

10351031
:taskFilesErase
1032+
setlocal
1033+
10361034
if exist %folder_distrb%\ (
10371035
erase /s /f /q %folder_distrb%\*.* && rmdir /s /q %folder_distrb%
10381036
) else (
@@ -1080,6 +1078,9 @@ goto :EOF
10801078
goto sessFinish
10811079
)
10821080

1081+
endlocal
1082+
goto :EOF
1083+
10831084
:: # #
10841085
:: @desc Disables Windows Updates
10851086
:: @usage [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]
@@ -1154,12 +1155,15 @@ goto :EOF
11541155
)
11551156

11561157
goto taskFilesErase
1158+
endlocal
1159+
goto :EOF
11571160

11581161
:: # #
11591162
:: @desc Enables Windows Updates
11601163
:: # #
11611164

11621165
:taskUpdatesEnable
1166+
setlocal
11631167
echo. %cyand% Notice %u% Enabling Windows Update Services ...%u%
11641168

11651169
for %%i in (%servicesUpdates%) do (
@@ -1211,12 +1215,16 @@ goto :EOF
12111215
)
12121216

12131217
goto sessFinish
1218+
endlocal
1219+
goto :EOF
12141220

12151221
:: # #
12161222
:: @desc Disables Windows Telemetry Reporting
12171223
:: # #
12181224

12191225
:taskDisableTelemetry
1226+
setlocal
1227+
12201228
echo. %cyand% Motice %u% Modifying registry to disable %goldm%Microsoft Windows%u% telemetry and tracking%u%
12211229

12221230
reg add "HKLM\SOFTWARE\Policies\Microsoft\MRT" /v "DontOfferThroughWUAU" /t REG_DWORD /d "0x00000001" /f > nul
@@ -1244,11 +1252,11 @@ goto :EOF
12441252
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\gazeInput" /v "Value" /t REG_SZ /d "Deny" /f > nul
12451253
reg add "HKLM\SYSTEM\DriverDatabase\Policies\Settings" /v "DisableSendGenericDriverNotFoundToWER" /t REG_DWORD /d "0x00000001" /f > nul
12461254
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\IE" /v "SqmLoggerRunning" /t REG_DWORD /d "0x00000000" /f > nul
1247-
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Windows" /v "CEIPEnable" /t REG_DWORD /d "0x00000000" /f
1255+
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Windows" /v "CEIPEnable" /t REG_DWORD /d "0x00000000" /f > nul
12481256
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Windows" /v "SqmLoggerRunning" /t REG_DWORD /d "0x00000000" /f > nul
12491257
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Windows" /v "DisableOptinExperience" /t REG_DWORD /d "0x00000001" /f > nul
1250-
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Reliability" /v "SqmLoggerRunning" /t REG_DWORD /d "0x00000000" /f
1251-
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Reliability" /v "CEIPEnable" /t REG_DWORD /d "0x00000000" /f
1258+
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Reliability" /v "SqmLoggerRunning" /t REG_DWORD /d "0x00000000" /f > nul
1259+
reg add "HKLM\SOFTWARE\Microsoft\SQMClient\Reliability" /v "CEIPEnable" /t REG_DWORD /d "0x00000000" /f > nul
12521260
reg add "HKLM\SOFTWARE\Policies\Microsoft\SQMClient\Windows" /v "CEIPEnable" /t REG_DWORD /d "0x00000000" /f > nul
12531261
reg add "HKLM\SOFTWARE\Policies\Microsoft\Assistance\Client\1.0" /v "NoActiveHelp" /t REG_DWORD /d "0x00000001" /f > nul
12541262
reg add "HKCU\SOFTWARE\Policies\Microsoft\Assistance\Client\1.0" /v "NoExplicitFeedback" /t REG_DWORD /d "0x00000001" /f > nul
@@ -1425,6 +1433,8 @@ goto :EOF
14251433
)
14261434

14271435
goto sessFinish
1436+
endlocal
1437+
goto :EOF
14281438

14291439
:: # #
14301440
:: @desc Quit
@@ -1474,7 +1484,8 @@ goto :EOF
14741484
:: # #
14751485

14761486
:progressUpdate
1477-
setlocal ENABLEDELAYEDEXPANSION
1487+
setlocal enabledelayedexpansion
1488+
14781489
set progPercent=%1
14791490
set /A progNumBars=%progPercent%/2
14801491
set /A progNumSpaces=50-%progNumBars%
@@ -1483,6 +1494,7 @@ goto :EOF
14831494
for /L %%A IN (%progNumSpaces%,-1,1) do set progMeter=!progMeter!
14841495
call :helperUnquote progGitle %2
14851496
title Working: [%progMeter%] %progPercent%%% - %progGitle%
1497+
14861498
endlocal
14871499
goto :EOF
14881500

0 commit comments

Comments
 (0)