Windows Tips & News

Hvordan heve en batchfil automatisk for å kjøre den som administrator

click fraud protection
ANBEFALT: Klikk her for å fikse Windows-problemer og optimalisere systemytelsen

Noen ganger må du lage en batch-fil som inneholder kommandoer som krever forhøyede rettigheter. På grunn av UAC-funksjonen inkludert i Windows siden Windows Vista, åpnes den uten å starte en batchfil de nødvendige tilgangsrettighetene med mindre du høyreklikker på den og velger "Kjør som administrator" fra konteksten Meny. Her er hvordan du kan lage en batch-fil som automatisk hever seg selv.

Annonse


Før du fortsetter, se hvordan legge til batchfil (*.bat) til Ny meny i filutforsker. Plasser følgende innhold i begynnelsen av batchfilen:
:: Sjekk og få administratorrettigheter automatisk V2. @ekko av. CLS. EKKO. ECHO ECHO Running Admin shell. EKKO :init. setlocal DisableDelayedExpansion. sett "batchPath=%~0" for %%k i (%0) må du angi batchName=%%~nk. sett "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%vbs" setlocal EnableDelayedExpansion :checkPrivileges. NET FIL 1>NUL 2>NUL. if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges) :getPrivileges. if '%1'=='ELEV' (ekko ELEV & shift /1 & goto gotPrivileges) EKKO. EKKO ************************************** ECHO påkaller UAC for Privilege Eskalering. ECHO ************************************** ECHO Set UAC = CreateObject^("Shell. Applikasjon"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" EKKO for hver strArg i WScript. Argumenter >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Neste >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* exit /B :gotPrivileges. setlocal & pushd. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Kjør shell som admin (eksempel) - legg inn kode som du vil. ECHO %batchName% Argumenter: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Plasser dine egne batchkommandoer som krever heving under siste linje.

Den oppgitte koden vil opprette en spesiell VBS-fil som vil starte den på nytt hvis den ikke kjører som administrator. Så hvis du starter den med begrensede tillatelser, vil du få en UAC-forespørsel som ber deg om å heve privilegiene før den kjører kommandoene sine!

Slik ser det ut i Windows 10:Windows 10 batch-fil

Windows 10 batchfil UAC-forespørsel

Windows 10 automatisk heve en batch-filKreditt for denne koden går til Matt.

ANBEFALT: Klikk her for å fikse Windows-problemer og optimalisere systemytelsen

Fest en hvilken som helst mappe Arkiver

I Windows 10 kan du feste hvilken som helst mappe til oppgavelinjen. Dette lar deg åpne den mappe...

Les mer

Hvordan endre plasseringen av SkyDrive-filer i Windows 8.1

Hvordan endre plasseringen av SkyDrive-filer i Windows 8.1

I Windows 8.1 forbedret Microsoft SkyDrive-integrasjonen med OS og flyttet SkyDrive-mappen fra "F...

Les mer

Windows 8.1-arkiver

I forrige artikkel sa jeg at jeg skal forklare hvorfor lukking av moderne apper har blitt vanskel...

Les mer