Windows Tips & News

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

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
Ändra din användarkontobild snabbt i Windows 8.1 och Windows 8

Ändra din användarkontobild snabbt i Windows 8.1 och Windows 8

3 svarTill skillnad från Windows 7 är Windows 8s inställningar för att ändra användarkontobilden ...

Läs mer

Aktivera Xmouse-funktionen för aktiv fönsterspårning (fokus följer muspekaren) i Windows 8.1, Windows 8 och Windows 7

Aktivera Xmouse-funktionen för aktiv fönsterspårning (fokus följer muspekaren) i Windows 8.1, Windows 8 och Windows 7

Ända sedan Windows 95 har operativsystemet haft en funktion som heter Xmouse där fokus på windows...

Läs mer

Microsoft Defender för Windows får en massiv funktionsuppgradering

Microsoft Defender för Windows får en massiv funktionsuppgradering

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

Läs mer