Windows Tips & News

วิธียกระดับแบตช์ไฟล์โดยอัตโนมัติเพื่อเรียกใช้ในฐานะผู้ดูแลระบบ

click fraud protection
ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบ

บางครั้งคุณจำเป็นต้องสร้างไฟล์แบตช์ซึ่งรวมถึงคำสั่งที่ต้องใช้สิทธิ์ระดับสูง เนื่องจากฟังก์ชัน UAC ที่รวมอยู่ใน Windows ตั้งแต่ Windows Vista เมื่อเริ่มต้นแบตช์ไฟล์ จะเปิดขึ้นโดยไม่ใช้ สิทธิ์การเข้าถึงที่จำเป็นเว้นแต่คุณจะคลิกขวาและเลือก "เรียกใช้ในฐานะผู้ดูแลระบบ" จากบริบท เมนู. นี่คือวิธีที่คุณสามารถสร้างไฟล์แบตช์ซึ่งจะยกระดับตัวเองโดยอัตโนมัติ

โฆษณา


ก่อนดำเนินการต่อ โปรดดูที่ วิธีเพิ่ม Batch file (*.bat) ให้กับเมนูใหม่ของ File Explorer. วางเนื้อหาต่อไปนี้ที่จุดเริ่มต้นของไฟล์แบตช์ของคุณ:
:: ตรวจสอบและรับสิทธิ์ผู้ดูแลระบบ V2 โดยอัตโนมัติ @ปิดเสียงสะท้อน ซีแอลเอส. เสียงสะท้อน ECHO ECHO เรียกใช้เชลล์ผู้ดูแลระบบ ก้อง :init. setlocal DisableDelayedExpansion. ปิดใช้งาน ตั้งค่า "batchPath=%~0" สำหรับ %%k ใน (%0) ให้ตั้งค่า batchName=%%~nk ตั้งค่า "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. ชุดท้องถิ่น EnableDelayedExpansion :checkPrivileges NET ไฟล์ 1>NUL 2>NUL. ถ้า '%errorlevel%' == '0' ( goto gotPrivileges ) อื่น ( goto getPrivileges ) :getPrivileges ถ้า '%1'=='ELEV' (สะท้อน ELEV & shift /1 & ไปที่ gotPrivileges) เสียงสะท้อน เสียงสะท้อน ******************************************** ECHO เรียกใช้ UAC สำหรับการยกระดับสิทธิ์ ECHO ************************************** ECHO ตั้งค่า UAC = CreateObject^("Shell. แอปพลิเคชัน"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO สำหรับแต่ละ strArg ใน WScript อาร์กิวเมนต์ >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO ถัดไป >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* ทางออก /B :gotPrivileges. setlocal & ผลัก cd /d %~dp0. ถ้า '%1'=='ELEV' (เดล "%vbsGetPrivileges%" 1>nul 2>nul & shift / 1) ::START REM Run shell ในฐานะผู้ดูแลระบบ (ตัวอย่าง) - ใส่รหัสที่นี่ตามที่คุณต้องการ ECHO %batchName% อาร์กิวเมนต์: %1 %2 %3 %4 %5 %6 %7 %8 %9

วางคำสั่งแบทช์ของคุณเองซึ่งต้องมีการยกระดับใต้บรรทัดสุดท้าย

รหัสที่ให้มาจะสร้างไฟล์ VBS พิเศษซึ่งจะเริ่มต้นใหม่หากไม่ได้ทำงานเป็นผู้ดูแลระบบ ดังนั้น หากคุณเปิดใช้งานด้วยสิทธิ์ที่จำกัด คุณจะได้รับข้อความแจ้ง UAC เพื่อขอให้คุณยกระดับสิทธิ์ก่อนที่จะรันคำสั่ง!

นี่คือลักษณะที่ปรากฏใน Windows 10:ไฟล์แบตช์ Windows 10

คำขอ UAC ไฟล์แบตช์ Windows 10

Windows 10 ยกระดับแบตช์ไฟล์โดยอัตโนมัติเครดิตสำหรับรหัสนี้ไปที่ แมตต์.

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบ
ฟีเจอร์ที่ถูกลบในการอัปเดต Windows 10 เมษายน 2018

ฟีเจอร์ที่ถูกลบในการอัปเดต Windows 10 เมษายน 2018

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบWindows 10 เวอร์ชัน 1803 "อัปเ...

อ่านเพิ่มเติม

Microsoft เลื่อนวันที่สิ้นสุดการให้บริการสำหรับ Windows 10 รุ่นลูกค้า 1803

Microsoft เลื่อนวันที่สิ้นสุดการให้บริการสำหรับ Windows 10 รุ่นลูกค้า 1803

ที่แนะนำ: คลิกที่นี่เพื่อแก้ไขปัญหา Windows และเพิ่มประสิทธิภาพระบบMicrosoft ได้ยุติการสนับสนุน W...

อ่านเพิ่มเติม

วิธีแสดงหรือซ่อนนามสกุลไฟล์ใน Windows 10

วิธีแสดงหรือซ่อนนามสกุลไฟล์ใน Windows 10

ตามค่าเริ่มต้น File Explorer ใน Windows 10 จะไม่แสดงนามสกุลไฟล์สำหรับไฟล์ส่วนใหญ่ นี่เป็นความเสี่...

อ่านเพิ่มเติม