ด้วยพรอมต์คำสั่งเท่านั้นเป็นไปได้หรือไม่ที่จะปิดใช้งานโหมดสลีปเมื่อปิดฝาแล็ปท็อป?
ด้วยพรอมต์คำสั่งเท่านั้นเป็นไปได้หรือไม่ที่จะปิดใช้งานโหมดสลีปเมื่อปิดฝาแล็ปท็อป?
คำตอบ:
คำสั่งที่คุณต้องการคือ powercfg เปิดพรอมต์คำสั่งและพิมพ์powercfg –q >poweroptions.txt
สิ่งนี้จะสร้างไฟล์ข้อความ (poweroptions.txt) พร้อม GUID ทั้งหมดสำหรับการตั้งค่าพลังงาน เปิดไฟล์ poweroptions.txt และค้นหา GUID สำหรับรูปแบบพลังงานปัจจุบัน ควรอยู่ที่ด้านบนสุดของไฟล์และจะมีลักษณะดังนี้:
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)
คัดลอกและวางเพียง GUID (ในตัวอย่างนี้ - 381b4222-f694-41f0-9685-ff5bb260df2e
) ลงในไฟล์ข้อความใหม่ที่ว่างเปล่า จากนั้นเลื่อนดูและค้นหากลุ่มย่อย GUID สำหรับการกระทำ“ ปุ่ม Power และฝาปิด” คัดลอกและวาง GUID นี้ลงในไฟล์ข้อความใหม่เดียวกันเป็นบรรทัดแยกต่างหาก ตอนนี้ค้นหา GUID การตั้งค่าพลังงานสำหรับ“ การปิดฝาปิด” และคัดลอกและวางหนึ่งภายใต้อีกสอง โปรดทราบว่าหมายเลข 'ดัชนีการตั้งค่าที่เป็นไปได้' สำหรับตัวเลือกที่คุณต้องการตั้งค่าเป็น (ปิดใช้งานคือ 000) คุณจะต้องเรียกใช้คำสั่งหนึ่งครั้งสำหรับแต่ละชุดรูปแบบพลังงาน DC และ AC เพื่อให้ครอบคลุมทั้งสองสถานการณ์ คำสั่งจะมีลักษณะดังนี้:
Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000
ฉันทดสอบสิ่งนี้และคำสั่งของฉันมีลักษณะดังนี้:
powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000
คำสั่งที่สองใช้สำหรับเมื่อผู้ใช้ใช้แบตเตอรีและเหมือนกันทุก–SETDCVALUEINDEX
ประการยกเว้นว่าเราใช้สวิตช์
นี่คือหน้าตัวเลือกบรรทัดคำสั่งอย่างเป็นทางการ Powercfg จาก Microsoft สำหรับการอ้างอิงเพิ่มเติม
powercfg
ดูเหมือนเป็นตัวอย่างที่ดีของ "วิธีที่จะไม่เขียนเครื่องมือบรรทัดคำสั่ง": /
หัวข้อที่นี่เป็นวิธีการปิดการใช้งานโหมดสลีปผ่าน CMD?
สมมติว่าคุณได้กำหนดค่าฝาแล็ปท็อปของคุณให้ทำอะไรเมื่อปิด:
powercfg -x -standby-timeout-ac 0
(อย่างใดสวิตช์-xไม่ทำงานสำหรับฉันดังนั้นฉันเปลี่ยนเป็น/ xและใช้งานได้ส่วนที่เหลือของสวิทช์พักได้ถึงมาตรฐานโดยหมดเวลา -AC )
ดังที่แสดงในหน้า Technet ของ Microsoft "Powercfg Command-Line Options" ( https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx ) คำสั่งคือ:
> ค่าการตั้งค่า powercfg -x (ค่าที่คุณกำลังดูคือ "โหมดเตรียมพร้อม")
ดังนั้น: > powercfg -x -standby-timeout-ac นาที (ปิดใช้งาน = 0 นาที)
หมายเหตุ: ac = เชื่อมต่อกับพลังงานไฟฟ้า / dc = ทำงานบนแบตเตอรี่ (ดังนั้นหากคุณต้องการปิดการใช้งานโหมดสลีปขณะทำงานกับพลังงานของแบตเตอรี่ให้เปลี่ยน "ac" ด้วย "dc" ในคำสั่งดังนั้นมันจะดูเหมือนpowercfg -x -standby-timeout-dc 0
)
-x
อาจเป็นได้ว่ามันเป็นเส้นประแบบเต็มไม่ใช่สัญลักษณ์เชิงลบปกติ
จากคำตอบก่อนหน้านี้ฉันเขียนไฟล์แบตช์
@echo off
for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "Power Scheme GUID:"') do Set StrOne=%%i
for /f "tokens=3 delims= " %%i IN ('powercfg -q ^| find "(Power buttons and lid)"') do Set StrTwo=%%i
for /f "tokens=4 delims= " %%i IN ('powercfg -q ^| find "(Lid close action)"') do Set StrThree=%%i
powercfg -SETACVALUEINDEX %StrOne% %StrTwo% %StrThree% 000
คุณต้องเปลี่ยน %% i เป็น% i หากพยายามเรียกใช้คำสั่งเหล่านี้โดยตรงในพร้อมท์คำสั่ง (นอกแบตช์)
ตามสคริปต์จาก Jeremy และ Jonas Herdick ฉันเขียนสคริปต์ toggle ซึ่งเป็นภาษาท้องถิ่น (ดังนั้นทำงานได้กับ windows windows) และช่วยให้ฉันปิดการใช้งานและกู้คืน (กับสิ่งที่เคยเป็นมาก่อน) ฝาปิดการกระทำเมื่อวางของฉัน โน้ตบุ๊กที่ฐานของมัน (ที่ต้องปิดฝา) และใช่อย่าลืมเปิดใช้งาน powerscheme ปัจจุบันอีกครั้งหลังจากการเปลี่ยนแปลงทุกอย่างเช่น KallePower ที่กล่าวถึง
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2 delims=:(" %%i in ('powercfg /GETACTIVESCHEME') do set ACTIVESCHEME=%%i
for /f "tokens=2 delims=:(" %%i in ('powercfg -q %ACTIVESCHEME% SUB_BUTTONS LIDACTION ^| findstr "[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*-[0-9a-z]*"') do set FULLPATH=!FULLPATH! %%i
for /f "tokens=2 delims=:(" %%i in ('powercfg /q %FULLPATH% ^| findstr "[0-9]x[0-9]*"') do (
set CURRENTSETTINGAC=!CURRENTSETTINGDC!
set CURRENTSETTINGDC=%%i
)
set CURRENTSETTINGAC=%CURRENTSETTINGAC:~-1%
set CURRENTSETTINGDC=%CURRENTSETTINGDC:~-1%
powercfg -SETACVALUEINDEX %FULLPATH% 0
powercfg -SETDCVALUEINDEX %FULLPATH% 0
powercfg /s %ACTIVESCHEME%
pause
powercfg -SETACVALUEINDEX %FULLPATH% %CURRENTSETTINGAC%
powercfg -SETDCVALUEINDEX %FULLPATH% %CURRENTSETTINGDC%
powercfg /s %ACTIVESCHEME%
REM Disabling all Sleep Parameters
@echo off
powercfg /x -hibernate-timeout-ac 0
powercfg /x -hibernate-timeout-dc 0
powercfg /x -disk-timeout-ac 0
powercfg /x -disk-timeout-dc 0
powercfg /x -monitor-timeout-ac 0
powercfg /x -monitor-timeout-dc 0
Powercfg /x -standby-timeout-ac 0
powercfg /x -standby-timeout-dc 0
Pause
Microsoft มีหน้ายาวเกี่ยวกับpowercfg
ตัวเลือกบรรทัดคำสั่ง
คุณอาจกำลังอ่านข้อมูลบน-x
สวิตช์ แต่ฉันเคยpowercfg
เปลี่ยนการตั้งค่าไฮเบอร์เนตเท่านั้น
powercfg
lid close action
ไม่ได้มีตัวเลือกสำหรับการเปลี่ยน ตัวเลือกการใช้พลังงานจะถูกเก็บไว้ในรีจิสทรีภายใต้HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy
แต่ก็ไม่มีความชัดเจนว่าค่าใดในข้อมูลไบนารีที่จะไปพร้อมกับการตั้งค่าใด
อีกหนึ่งสิ่ง. อย่าลืมเพิ่ม "powercfg -S% StrOne%" ที่ท้ายสคริปต์เพื่อเปิดใช้งานการตั้งค่า การตั้งค่าอื่นจะถูกตั้งค่าไว้ แต่จะไม่ถูกบันทึก / เปิดใช้งาน