Skip to content

Commit 6460ccb

Browse files
committed
Use powershell to elevate and Fix setting and testing against errorlevels
1 parent fc46f9a commit 6460ccb

File tree

1 file changed

+7
-27
lines changed

1 file changed

+7
-27
lines changed

FWUpdate.bat

+7-27
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,12 @@
11
@echo off
2-
3-
:: BatchGotAdmin
4-
:-------------------------------------
5-
REM --> Check for permissions
6-
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
7-
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
8-
) ELSE (
9-
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
2+
@cd /d "%~dp0"
3+
@set "ERRORLEVEL="
4+
@CMD /C EXIT 0
5+
@"%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" >nul 2>&1
6+
@if NOT "%ERRORLEVEL%"=="0" (
7+
@powershell -Command Start-Process ""%0"" -Verb runAs 2>nul
8+
@exit
109
)
11-
12-
REM --> If error flag set, we do not have admin.
13-
if '%errorlevel%' NEQ '0' (
14-
echo Requesting administrative privileges...
15-
goto UACPrompt
16-
) else ( goto gotAdmin )
17-
18-
:UACPrompt
19-
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
20-
set params = %*:"=""
21-
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
22-
23-
"%temp%\getadmin.vbs"
24-
del "%temp%\getadmin.vbs"
25-
exit /B
26-
27-
:gotAdmin
28-
pushd "%CD%"
29-
CD /D "%~dp0"
3010
:--------------------------------------
3111
set fwupdate=FWUpdLcl
3212
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" set fwupdate=%fwupdate%64

0 commit comments

Comments
 (0)