วิธีการปิดการใช้งานโหมดสลีปผ่าน CMD?


10

ด้วยพรอมต์คำสั่งเท่านั้นเป็นไปได้หรือไม่ที่จะปิดใช้งานโหมดสลีปเมื่อปิดฝาแล็ปท็อป?


1
นี่เป็นเพียงคำถามเชิงทฤษฎีล้วนๆหรือมีเหตุผลบางอย่างที่คุณต้องทำ ฉันถามเพราะอาจมีวิธีอื่นในการทำให้สำเร็จหากเป็นกรณีนี้
Shinrai

ดีฉันต้องทำจากระยะไกลและฉันมีเพียง apt พรอมต์คำสั่งของแล็ปท็อป
kb67

1
มันอาจจะไม่ง่ายกว่าเพียงแค่นำผู้ใช้แล็ปท็อปมาทำอย่างนั้นใช่ไหม ฉันคิดว่าความคิดเห็นของ iglvzx นั้นถูกต้องและไม่มีวิธีใดที่จะเปลี่ยนแปลงการกระทำของฝาที่สั้นกว่าการแก้ไขรีจิสทรีด้วยตนเอง
Shinrai

ฉันได้รับการพิสูจน์แล้วว่าผิดมีวิธีการทำผ่าน powercfg แต่ฉันคิดว่ามันเกี่ยวข้องพอที่จะยังคงง่ายกว่าเพียงแค่พูดคุยผ่านมัน
Shinrai

คำตอบ:


13

คำสั่งที่คุณต้องการคือ 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 สำหรับการอ้างอิงเพิ่มเติม


สวัสดีเดวิด - ฉันดีใจที่เห็นว่าไมโครซอฟท์มีผู้คนที่เข้ามาเยี่ยมชมเว็บไซต์เช่นนี้เป็นเรื่องที่น่ายินดี ไม่จำเป็นต้องเซ็นชื่อโพสต์ของคุณในเว็บไซต์ Stack Exchange ใด ๆ และท้อแท้จริง ๆ - นี่คือสิ่งที่ตราผู้ใช้ของคุณใช้
Shinrai

Shrinrai ขออภัยที่ฉันเข้าชมฟอรัมต่าง ๆ มากมายทุกวันยากที่จะให้ฟีเจอร์ทั้งหมดตรง ฉันจะดูป้ายผู้ใช้ของฉัน
dwolters

1
powercfgดูเหมือนเป็นตัวอย่างที่ดีของ "วิธีที่จะไม่เขียนเครื่องมือบรรทัดคำสั่ง": /
Martin von Wittich

7

หัวข้อที่นี่เป็นวิธีการปิดการใช้งานโหมดสลีปผ่าน 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)


1
ใช้งานได้กับ Win 7 และ Win 10 ขอบคุณ! ข้อกำหนดเพียงอย่างเดียว - เพื่อเรียกใช้ CMD ในฐานะผู้ดูแลระบบ
TPAKTOPA

1
ปัญหา-xอาจเป็นได้ว่ามันเป็นเส้นประแบบเต็มไม่ใช่สัญลักษณ์เชิงลบปกติ
Joel Coehoorn

2

จากคำตอบก่อนหน้านี้ฉันเขียนไฟล์แบตช์

@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 หากพยายามเรียกใช้คำสั่งเหล่านี้โดยตรงในพร้อมท์คำสั่ง (นอกแบตช์)


1

ตามสคริปต์จาก 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%

1
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

0

Microsoft มีหน้ายาวเกี่ยวกับpowercfgตัวเลือกบรรทัดคำสั่ง

คุณอาจกำลังอ่านข้อมูลบน-xสวิตช์ แต่ฉันเคยpowercfgเปลี่ยนการตั้งค่าไฮเบอร์เนตเท่านั้น


1
powercfglid close actionไม่ได้มีตัวเลือกสำหรับการเปลี่ยน ตัวเลือกการใช้พลังงานจะถูกเก็บไว้ในรีจิสทรีภายใต้HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicyแต่ก็ไม่มีความชัดเจนว่าค่าใดในข้อมูลไบนารีที่จะไปพร้อมกับการตั้งค่าใด
iglvzx

ขอบคุณสำหรับความคิดเห็น. ฉันไม่แน่ใจ แต่ฉันดีใจที่เชื่อมโยงกับสถานที่เดียวกันกับ David :-)

0

อีกหนึ่งสิ่ง. อย่าลืมเพิ่ม "powercfg -S% StrOne%" ที่ท้ายสคริปต์เพื่อเปิดใช้งานการตั้งค่า การตั้งค่าอื่นจะถูกตั้งค่าไว้ แต่จะไม่ถูกบันทึก / เปิดใช้งาน


0

ลองNoDoz เมื่อติดตั้งแล้วคุณสามารถเรียกใช้nodozจากพรอมต์คำสั่ง cmd (หรือเทอร์มินัล PowerShell) เพื่อป้องกันไม่ให้ระบบของคุณเข้าสู่โหมดสลีปไม่สิ้นสุด หรือคุณสามารถส่งผ่านพารามิเตอร์การหมดเวลาเช่น-t 6h13mให้โปรแกรมสิ้นสุดโดยอัตโนมัติหลังจากระยะเวลาโดยพลการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.