Làm cách nào để tắt chế độ ngủ thông qua CMD?


10

Chỉ với dấu nhắc lệnh, có thể tắt chế độ ngủ khi đóng nắp máy tính xách tay không?


1
Vì tò mò, đây chỉ là một câu hỏi lý thuyết đơn thuần hay có một số lý do cụ thể bạn cần phải làm điều này? Tôi hỏi bởi vì có thể có những cách khác để hoàn thành nó nếu đó là trường hợp.
Shinrai

Vâng, tôi cần phải làm điều đó từ xa và tôi chỉ có các dấu nhắc lệnh của máy tính xách tay.
kb67

1
Có thể không dễ dàng hơn chỉ để người dùng máy tính xách tay đi qua nó? Tôi nghĩ rằng nhận xét của iglvzx là đúng và không có cách nào để dễ dàng thay đổi hành động nắp ngắn khi chỉnh sửa sổ đăng ký thủ công.
Shinrai

Chà, tôi đã được chứng minh là sai, có một cách thực hiện thông qua powercfg, nhưng tôi nghĩ nó liên quan đến mức đủ để nói chuyện với họ thông qua nó vẫn dễ dàng hơn.
Shinrai

Câu trả lời:


13

Lệnh bạn đang tìm kiếm là powercfg. Mở một dấu nhắc lệnh và gõpowercfg –q >poweroptions.txt

Điều này sẽ tạo một tệp văn bản (poweroptions.txt) với tất cả các GUID cho cài đặt nguồn. Mở tệp poweroptions.txt và tìm GUID cho sơ đồ nguồn hiện tại. Điều này nên ở trên cùng của tập tin và sẽ trông như thế này:

Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)

Sao chép và dán chỉ GUID (trong ví dụ này - 381b4222-f694-41f0-9685-ff5bb260df2e) vào một tệp văn bản trống mới. Sau đó cuộn qua và tìm GUID nhóm con cho các nút Power Power và các hành động nắp nắp. Sao chép và dán GUID này vào cùng một tệp văn bản mới dưới dạng một dòng riêng biệt. Bây giờ, hãy tìm HƯỚNG DẪN Cài đặt Nguồn cho hành động đóng nắp nắp và sao chép và dán cái đó dưới hai cái kia. Cũng xin lưu ý các số 'Chỉ số cài đặt có thể' cho tùy chọn mà bạn sẽ muốn đặt thành (bị vô hiệu hóa là 000). Bạn sẽ phải chạy lệnh một lần cho mỗi sơ đồ nguồn, nguồn DC và AC để bao quát cả hai tình huống. Lệnh sẽ trông như thế này:

Powercfg –SETACVALUEINDEX [put power scheme GUID here] [put subgroup GUID here] [put power setting GUID here] 000

Tôi đã thử nghiệm điều này và lệnh của tôi trông như thế này:

powercfg -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 000

Lệnh thứ hai dành cho khi người dùng sử dụng pin và hoàn toàn giống nhau ngoại trừ chúng tôi sử dụng công tắc –SETDCVALUEINDEX.

Dưới đây là trang tùy chọn dòng lệnh Powercfg chính thức từ Microsoft để tham khảo thêm.


Xin chào David - Tôi rất vui khi thấy Microsoft có những người tiếp cận với các trang web như thế này, điều đó thật đáng khích lệ. Tuy nhiên, không cần thiết phải ký các bài đăng của bạn trên bất kỳ trang web Stack Exchange nào và thực sự không khuyến khích - đây là những gì huy hiệu người dùng của bạn dành cho.
Shinrai

Shrinrai, Xin lỗi, tôi truy cập rất nhiều diễn đàn khác nhau mỗi ngày thật khó để giữ tất cả các tính năng. Tôi sẽ nhìn vào huy hiệu người dùng của tôi.
lùn

1
powercfgcó vẻ như là một ví dụ điển hình về "cách không viết công cụ dòng lệnh": /
Martin von Wittich

7

Chủ đề ở đây là Làm thế nào để tắt chế độ ngủ thông qua CMD?

Giả sử bạn đã cấu hình nắp máy tính xách tay của mình để không làm gì khi đóng:

powercfg -x -standby-timeout-ac 0

(bằng cách nào đó chuyển đổi -x không làm việc cho tôi vì vậy tôi đã thay đổi nó để / x và nó hoạt động. phần còn lại của thiết bị chuyển mạch ở -standby-timeout-ac )

Như được hiển thị trên trang Technet của Microsoft "Tùy chọn dòng lệnh Powercfg" ( https://technet.microsoft.com/en-us/l Library / cc736140 (v = ws.10) .aspx ), lệnh là:

> giá trị cài đặt powercfg -x (giá trị bạn đang xem là "chờ")

do đó: > powercfg -x -standby-timeout-ac phút (vô hiệu hóa = 0 phút)

LƯU Ý: ac = được kết nối với nguồn điện / dc = hoạt động trên pin (vì vậy nếu bạn muốn tắt chế độ ngủ trong khi làm việc với nguồn pin, hãy thay thế "ac" bằng "dc" trong lệnh, vì vậy nó sẽ trông như thế powercfg -x -standby-timeout-dc 0)


1
Điều này hoạt động trên Win 7 và Win 10, cảm ơn! Yêu cầu duy nhất - để chạy CMD với tư cách Quản trị viên.
TPAKTOPA

1
Vấn đề với -xcó thể là nó là một dấu gạch ngang đầy đủ, không phải là biểu tượng tiêu cực thông thường.
Joel Coehoorn

2

Dựa trên câu trả lời trước tôi đã viết một tập tin bó.

@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

Bạn cần thay đổi %% i thành% i nếu cố gắng chạy các lệnh này trực tiếp trong dấu nhắc lệnh (bên ngoài một lô).


1

Dựa trên kịch bản từ Jeremy và Jonas Herdick, tôi đã viết kịch bản chuyển đổi này, độc lập nội địa hóa (cũng hoạt động với các cửa sổ của Đức) và giúp tôi vô hiệu hóa và khôi phục (đối với những gì trước đây) máy tính xách tay đến dock của nó (nơi cần đóng nắp). Và vâng, đừng quên kích hoạt lại quyền hạn hiện tại sau mỗi thay đổi như KallePower đã đề cập

@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 có một trang dài về powercfgcác tùy chọn dòng lệnh.

Có lẽ bạn sẽ đọc lên trên công -xtắc. Tôi chỉ được sử dụng powercfgđể thay đổi cài đặt ngủ đông.


1
powercfgkhông có bất kỳ tùy chọn để thay đổi lid close action. Các tùy chọn nguồn được lưu trữ trong Sổ đăng ký bên dưới HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicynhưng không rõ giá trị nào trong dữ liệu nhị phân đi với cài đặt nào.
iglvzx

Cảm ơn vì bạn đã phản hồi. Tôi không chắc chắn nhưng tôi rất vui vì đã liên kết đến cùng một nơi với David :-)

0

Một điều nữa. Nhớ thêm "powercfg -S% StrOne%" vào cuối tập lệnh để kích hoạt cài đặt. Cài đặt khác sẽ chỉ được đặt, nhưng không được lưu / kích hoạt.


0

Hãy thử NoDoz . Sau khi cài đặt, bạn có thể chạy nodoztừ dấu nhắc cmd (hoặc thiết bị đầu cuối PowerShell) để giữ cho hệ thống của bạn không bị ngủ vô thời hạn. Hoặc, bạn có thể vượt qua trong một tham số thời gian chờ như -t 6h13mđể chương trình tự động kết thúc sau một khoảng thời gian tùy ý.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.