배치 파일을 자동 승격시켜 관리자 권한으로 실행하는 방법
권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.
승격된 권한이 필요한 명령이 포함된 배치 파일을 만들어야 하는 경우가 있습니다. Windows Vista부터 Windows에 포함된 UAC 기능으로 인해 배치 파일을 시작할 때 마우스 오른쪽 버튼을 클릭하고 컨텍스트에서 "관리자 권한으로 실행"을 선택하지 않는 한 필요한 액세스 권한 메뉴. 자동 상승하는 배치 파일을 만드는 방법은 다음과 같습니다.
광고
계속하기 전에 다음을 참조하십시오. 파일 탐색기의 새 메뉴에 배치 파일(*.bat)을 추가하는 방법. 배치 파일의 시작 부분에 다음 콘텐츠를 배치합니다.
:: 관리자 권한 자동 확인 및 받기 V2. @에코 오프. CLS. 에코. ECHO ECHO 관리자 셸을 실행 중입니다. 에코: 초기화 setlocal DisableDelayedExpansion. "배치 경로=%~0" 설정 (%0)의 %%k에 대해 batchName=%%~nk를 설정하십시오. "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" 설정 setlocal EnableDelayedExpansion: checkPrivileges. NET 파일 1>NUL 2>NUL. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges. if '%1'=='ELEV' (ELEV & shift /1 & goto gotPrivileges 에코) 에코. 에코 ************************************** ECHO는 권한 상승을 위해 UAC를 호출합니다. ECHO ************************************** ECHO Set UAC = CreateObject^("Shell. 응용 프로그램"^) > "%vbsGetPrivileges%" 에코 인수 = "ELEV" >> "%vbsGetPrivileges%" WScript의 각 strArg에 대한 ECHO. 인수 >> "%vbsGetPrivileges%" 에코 인수 = 인수 ^& strArg ^& " " >> "%vbsGetPrivileges%" 에코 다음 >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", 인수, "", "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 Run shell as admin (example) - 여기에 원하는대로 코드를 넣으십시오. 에코 %batchName% 인수: %1 %2 %3 %4 %5 %6 %7 %8 %9
마지막 줄 아래에 고도가 필요한 배치 명령을 배치하십시오.
제공된 코드는 관리자로 실행되지 않는 경우 다시 시작하는 특수 VBS 파일을 생성합니다. 따라서 제한된 권한으로 실행하면 명령을 실행하기 전에 권한 상승을 요청하는 UAC 프롬프트가 표시됩니다!
Windows 10에서는 다음과 같이 표시됩니다.
이 코드에 대한 크레딧은 다음으로 이동합니다. 매트.
권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.