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?
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?
Câu trả lời:
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.
powercfg
có 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": /
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
)
-x
có 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.
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ô).
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%
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 có một trang dài về powercfg
các tùy chọn dòng lệnh.
Có lẽ bạn sẽ đọc lên trên công -x
tắc. Tôi chỉ được sử dụng powercfg
để thay đổi cài đặt ngủ đông.
powercfg
khô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\GlobalPowerPolicy
nhưng không rõ giá trị nào trong dữ liệu nhị phân đi với cài đặt nào.
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.
Hãy thử NoDoz . Sau khi cài đặt, bạn có thể chạy nodoz
từ 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 ý.