Windows Tips & News

Hur man automatiskt höjer en batchfil för att köra den som administratör

4 svar

Ibland behöver du skapa en batchfil som innehåller kommandon som kräver förhöjda rättigheter. På grund av UAC-funktionen som ingår i Windows sedan Windows Vista, när du startar en batchfil, öppnas den utan de nödvändiga åtkomsträttigheterna om du inte högerklickar på den och väljer "Kör som administratör" i sammanhanget meny. Så här kan du skapa en batchfil som automatiskt höjer sig själv.

Innan du fortsätter, se hur man lägger till batchfil (*.bat) till Ny meny i Filutforskaren. Placera följande innehåll i början av din batchfil:

:: Kontrollera och få administratörsrättigheter automatiskt V2. @eko av. CLS. EKO. ECHO ECHO Kör Admin-skal. ECHO :init. setlocal DisableDelayedExpansion. ställ in "batchPath=%~0" för %%k i (%0) ställ in batchName=%%~nk. ställ in "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%vbs" setlocal EnableDelayedExpansion :checkPrivileges. NET-FIL 1>NUL 2>NUL. if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges):getPrivileges. om '%1'=='ELEV' (eko ELEV & shift /1 & goto gotPrivileges) EKO. ECHO **************************************** ECHO anropar UAC för privilegieskalering. ECHO ************************************** ECHO Set UAC = CreateObject^("Shell. Application"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO för varje strArg i WScript. Argument >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Nästa >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* avsluta /B :gotPrivileges. setlocal & pushd. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Kör skal som admin (exempel) - lägg in koden här som du vill. ECHO %batchName% Argument: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Placera dina egna batchkommandon som kräver höjd under sista raden.

Den medföljande koden skapar en speciell VBS-fil som startar om den om den inte körs som administratör. Så om du startar den med begränsade behörigheter kommer du att få en UAC-prompt som ber dig att höja privilegier innan den kör sina kommandon!

Så här ser det ut i Windows 10:

Krediter för denna kod går till Matt.

Sergey Tkachenko, författare på Winaero

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer

Ladda ner Ladda ner CYBER v1.1.4 Skin för AIMP3

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer

Sergey Tkachenko, författare på Winaero

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer