Windows Tips & News

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

click fraud protection
REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestanda

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.

Annons


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:Windows 10 batchfil

Windows 10 batchfil UAC-begäran

Windows 10 höjer automatiskt en batchfilKrediter för denna kod går till Matt.

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestanda
PowerShell 7.0.3 släpps med några korrigeringar

PowerShell 7.0.3 släpps med några korrigeringar

Microsoft har utfärdat en mindre uppdatering av PowerShell 7, den senaste versionen av Windows sk...

Läs mer

Inaktivera säkerhets- och underhållsmeddelanden i Windows 10

Inaktivera säkerhets- och underhållsmeddelanden i Windows 10

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaNär du ...

Läs mer

Säkerhets- och underhållsmeddelandeinställningar för säkerhetskopiering i Windows 10

Säkerhets- och underhållsmeddelandeinställningar för säkerhetskopiering i Windows 10

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaNär du ...

Läs mer