Đôi khi bạn cần tạo một tệp hàng loạt bao gồm các lệnh yêu cầu quyền nâng cao. Do chức năng UAC được bao gồm trong Windows kể từ Windows Vista, khi khởi động một tập tin hàng loạt, nó sẽ mở ra mà không có quyền truy cập cần thiết trừ khi bạn nhấp chuột phải vào nó và chọn 'Run as Administrator' từ menu ngữ cảnh. Đây là cách bạn có thể tạo một tệp hàng loạt sẽ tự động nâng cấp chính nó.
Quảng cáo
Trước khi bạn tiếp tục, hãy xem cách thêm tệp Batch (* .bat) vào menu mới của File Explorer . Đặt nội dung sau vào đầu tệp hàng loạt của bạn:
tài liệu google đặt hình ảnh đằng sau văn bản
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Tự động kiểm tra và nhận quyền quản trị V2 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @echo tắt CLS ECHO. ECHO ============================= ECHO Chạy trình bao quản trị ECHO ===================== ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' for %% k in (% 0) do set batchName = %% ~ nk set 'vbsGetPrivileges =% temp% OEgetPriv_% batchName% .vbs 'setlocal EnableDelayedExpansion: checkPrivileges NET FILE 1> NUL 2> NUL if'% errorlevel% '==' 0 '(goto gotPrivileges) else (goto getPrivileges): getPrivileges if'% 1 '==' ELEV '(echo ELEV & shift / 1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Gọi UAC để leo thang đặc quyền ECHO **** ********************************** ECHO Đặt UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO For Each strArg in WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Tiếp theo >> '% 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 Chạy shell với tư cách quản trị viên (ví dụ ) - đặt mã ở đây tùy thích ECHO% batchName% Đối số:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Đặt các lệnh hàng loạt của riêng bạn yêu cầu độ cao bên dưới dòng cuối cùng.
Mã được cung cấp sẽ tạo một tệp VBS đặc biệt, tệp này sẽ khởi động lại nó nếu nó không chạy với tư cách Quản trị viên. Vì vậy, nếu bạn khởi chạy nó với các quyền hạn chế, bạn sẽ nhận được lời nhắc UAC yêu cầu bạn nâng cao đặc quyền trước khi nó chạy các lệnh!
Đây là giao diện của nó trong Windows 10:
Tín dụng cho mã này sẽ được chuyển đến Matt .