Windows Tips & News

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

click fraud protection
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.

Inaktivera automatisk arrangemang i mappar i Windows 10, Windows 8 och Windows 7

Inaktivera automatisk arrangemang i mappar i Windows 10, Windows 8 och Windows 7

Tidigare versioner av Windows som XP och Vista kom med möjligheten att fritt ordna ikoner i en ma...

Läs mer

Ändra textstorlek i Windows 10

Ändra textstorlek i Windows 10

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

Läs mer

Skapa en genväg för att byta användare i Windows 10

Skapa en genväg för att byta användare i Windows 10

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaÄven om...

Läs mer