Tôi biết rằng hầu hết mọi thứ trên Windows, như mở bất kỳ loại ứng dụng nào, đều có thể được thực hiện từ dấu nhắc lệnh hoặc từ menu Run .
Làm thế nào tôi có thể đặt máy tính của tôi để ngủ hoặc tắt nó ? Lệnh cho điều đó là gì?
Tôi biết rằng hầu hết mọi thứ trên Windows, như mở bất kỳ loại ứng dụng nào, đều có thể được thực hiện từ dấu nhắc lệnh hoặc từ menu Run .
Làm thế nào tôi có thể đặt máy tính của tôi để ngủ hoặc tắt nó ? Lệnh cho điều đó là gì?
Câu trả lời:
Bạn sẽ tìm thấy shutdown.exe
để trở thành bạn của bạn.
Các lệnh tiện dụng khác xem bài này :
Máy tính ngủ (đọc thêm tại https://superuser.com/a/463652/249349 )
Khóa máy trạm
Máy tính ngủ đông
see answers by Scott Chamberlain and Eric L
Khởi động lại máy tính
Shutdown.exe -r -t 00
Tắt máy tính
Shutdown.exe -s -t 00
CHỈNH SỬA / CẬP NHẬT:
Có vẻ như việc ngủ máy tính là có vấn đề nếu ngủ đông được bật.
Sao chép từ các câu trả lời khác:
Bạn có thể thử PsShutdown hoặc:
Lệnh rundll32.exe powrprof.dll, SetSuspendState 0,1,0 cho giấc ngủ là chính xác - tuy nhiên, nó sẽ ngủ đông thay vì ngủ nếu bạn không tắt chế độ ngủ đông.
Đây là cách để làm điều đó:
Chuyển đến Menu Bắt đầu và mở Dấu nhắc Lệnh nâng cao bằng cách nhập cmd.exe, nhấp chuột phải và chọn Chạy với tư cách quản trị viên. Gõ lệnh sau:
powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
là CNTT KHÔNG LÀM VIỆC như bình thường. SetSuspendState
sẽ đưa máy tính vào chế độ Ngủ kết hợp / Ngủ đông. Khi bạn sử dụng nút Ngủ từ menu bắt đầu, bạn có thể khôi phục máy tính của mình khỏi chế độ ngủ bằng cách nhấn một phím bất kỳ trên bàn phím. Sử dụng dòng lệnh này, làm cho tiếp tục chậm hơn nhiều do trạng thái ngủ sâu hơn và nó chỉ có thể tiếp tục nếu bạn nhấn nút nguồn trên máy tính của bạn. Nó không thể tiếp tục cho một lần nhấn phím. Vậy ... làm thế nào để bạn làm cho nó ngủ như ở chế độ chờ bình thường - có thể tiếp tục với việc bấm phím?
rundll32
không nên được sử dụng để gọi SetSuspendState
vì chữ ký của nó không khớp với dự kiến rundll32
. Xem: support.microsoft.com/en-us/kb/164787 và msdn.microsoft.com/en-us/library/windows/desktop/... Tham số đầu tiên được rác thay vì giá trị FALSE. Đó là lý do, tại sao nó ngủ đông thay vì đi ngủ.
Các phương thức được đăng bởi người khác không hoạt động chính xác nếu máy tính được bật chế độ ngủ đông, máy tính sẽ không đánh thức trên Bàn phím hoặc quan trọng hơn là không đánh thức tác vụ theo lịch trình.
Một trong những công cụ Sysiternals của Microsoft là PsShutdown sử dụng lệnh psshutdown -d -t 0
nó sẽ ngủ chính xác, không ngủ đông , một máy tính
run as administrator
tùy chọn nhấp chuột phải
psshutdown.exe
từ archiv sang ví dụ C:\Windows\System32
để có thể sử dụng lệnh mà không cần pathprefix. Một sau đó cần phải thực thi psshutdown -d -t 0
với các đặc quyền quản trị để đình chỉ. Đây phải là câu trả lời được chấp nhận , vì nó trả lời câu hỏi, ngay cả khi không phải với các công cụ được cài đặt sẵn của Windows.
Lệnh rundll32.exe powrprof.dll,SetSuspendState 0,1,0
cho giấc ngủ là chính xác - tuy nhiên, nó sẽ ngủ đông thay vì ngủ nếu bạn không tắt chế độ ngủ đông.
Đây là cách để làm điều đó:
Chuyển đến Menu Bắt đầu và mở Dấu nhắc Lệnh nâng cao bằng cách nhập cmd.exe
, nhấp chuột phải và chọn Chạy với tư cách quản trị viên . Gõ lệnh sau:
powercfg -hibernate off
powrprof.dll
là khi ngủ đông được bật không? Chỉ muốn biết. Nó có liên quan đến bất kỳ trạng thái ACPI nào không?
rundll32
không nên được sử dụng để gọi SetSuspendState
vì chữ ký của nó không khớp với dự kiến rundll32
. Xem: support.microsoft.com/en-us/kb/164787 và msdn.microsoft.com/en-us/l Library / windows /desktop / trộm Tham số đầu tiên nhận rác thay vì FALSE. Đó là lý do, tại sao nó ngủ đông thay vì đi ngủ.
NirCmd hoạt động trên Windows 8 (Tôi giả sử nó cũng hoạt động với Windows 7) → http://www.nirsoft.net/utils/nircmd.html
Lệnh này là standby
, nhưng nó khiến máy tính ngủ.
nircmd.exe standby
Nếu bạn kích hoạt chế độ ngủ lai, nó sẽ hoạt động; tức là, nó đặt máy tính ngủ và sao chép bộ nhớ vào đĩa trong trường hợp mất điện.
Xem tiện ích miễn phí của Wizmo , có thể làm rất nhiều thứ.
Lệnh bạn đang tìm kiếm có lẽ là:
wizmo chờ
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
- nó đặt máy tính ở trạng thái ngủ đông, không ngủ
Tôi đã tạo một lối tắt cho rundll32.exe powrprof.dll,SetSuspendState 0,1,0
(cũng đã thử với 0,0,0), nhưng chạy phím tắt dường như đưa PC của tôi vào trạng thái ngủ đông. Tôi không thể đánh thức PC bằng bàn phím; Tôi đã phải nhấn nút nguồn và PC hiển thị các thông báo bài đăng trên bo mạch chính, v.v.
Sau khi đọc tài liệu API của Windows , tôi đã tạo một chương trình rất đơn giản chỉ với 3 dòng gõ. Tôi đã tải lên tệp thực thi mà tôi đã biên dịch lên trang này (nhấp vào "SleepTest.exe") , nhưng tệp này có thể bị xóa sau một thời gian (đây là trang web lưu trữ tệp miễn phí mà tôi vừa tìm thấy bằng một tìm kiếm nhanh của Google).
Nếu bạn không tin tưởng tôi (điều này hoàn toàn tốt) hoặc tệp đã bị xóa, bạn có thể tự biên dịch mã, Tất nhiên. Bạn cần thêm "PowrProf.lib" vào các phụ thuộc bổ sung của Trình liên kết.
#include "stdafx.h"
#include "windows.h" <-- Added this to make it work on Windows.
#include "PowrProf.h" <-- Added this to use the sleep function.
int main()
{
SetSuspendState(FALSE, FALSE, FALSE); <-- Added this actual call.
return 0;
}
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
dường như đang làm điều tương tự, nhưng bằng cách nào đó, chương trình trên không đưa máy tính vào trạng thái ngủ đông. Tôi có thể đánh thức PC ngay lập tức (không có tin nhắn trên bo mạch chính, v.v.) bằng cách nhấn bất kỳ phím nào trên bàn phím.
Bạn có thể bắt đầu các tùy chọn tạm ngưng hoặc ngủ đông từ dòng lệnh như được chỉ định bên dưới và được tham chiếu trong bài viết này .
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
Nếu máy tính của bạn được đặt để cho phép ngủ đông thì lệnh trên sẽ bắt đầu chế độ ngủ đông. Nếu tính năng ngủ đông bị tắt, thì nó sẽ vào trạng thái chờ. Như những người dùng khác đã trả lời trước đó, shutdown.exe /?
sẽ cung cấp nhiều tùy chọn tắt máy.
rundll32
không nên được sử dụng để gọi SetSuspendState
vì chữ ký của nó không khớp với dự kiến rundll32
. Xem: support.microsoft.com/en-us/kb/164787 và msdn.microsoft.com/en-us/library/windows/desktop/... Tham số đầu tiên được rác thay vì FALSE, vì vậy nó luôn ngủ đông thay vì đi ngủ.
Trước tiên, bạn phải tắt Hibernate trong windows và sau đó đặt máy tính ở trạng thái Ngủ . Sử dụng hai lệnh sau:
powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0
và để thực hiện hành động ngược lại, Ngủ đông máy tính, sử dụng các lệnh bên dưới:
powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate
rundll32
không dành cho cuộc gọi SetSuspendState
và không nên được sử dụng cho việc này. Tham số đầu tiên nhận được rác thay vì giá trị chính xác. Vì vậy, nó luôn ngủ đông thay vì đi ngủ (nếu bạn chưa tắt chế độ ngủ đông).
chỉ NHANH SLEEPER hoạt động với tôi (hoạt động trong Windows 7,8,10).
mã nguồn ps có sẵn ở đây .
Nếu bạn có sẵn Python (với pywin32), bạn cũng có thể gọi hàm SetSuspendState đó trực tiếp bằng:
import ctypes
ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)
Điều này có thể dễ dàng được đưa vào một tệp bó hoặc một loại phím tắt như:
pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)"
Vì vậy, nếu bạn không có các tệp .py của mình được liên kết với trình thông dịch, bạn chỉ cần nhấp đúp vào liên kết.
Phần tắt của câu hỏi là rõ ràng cho mọi người.
shutdown.exe /?
hiển thị tất cả các lựa chọn để tắt / khởi động lại / tùy chọn nâng cao boot / firmware boot.
Nhưng tôi thấy rất nhiều bash ném xung quanh về phần Ngủ.
Mọi người đều nhận được nó rundll32.exe
không nên được sử dụng để gọi các hàm ngẫu nhiên và nó chỉ hoạt động ở đây để ngủ đông hoàn toàn do sự trùng hợp. Nhưng đó là bản chất của Windows - một hộp đen mà mọi người đã chọc ngoáy và tìm thấy hàng trăm cách giải quyết để hoàn thành công việc (hét to lên dostips).
Có rất nhiều giải pháp " phù hợp " đề xuất các công cụ bên ngoài , nhưng tôi dường như không thể tìm thấy một tập lệnh bó (lai / pinvoke / bất cứ thứ gì) , ngay cả khi câu hỏi này vẫn còn hoạt động trong nhiều năm qua.
Vì vậy, đây là power_s ngủ đơn giản của tôi :
@echo off &mode 32,2 &color cf &title Power Sleep
set "s1=$m='[DllImport ("Powrprof.dll", SetLastError = true)]"
set "s2=static extern bool SetSuspendState(bool hibernate, bool forceCritical, bool disableWakeEvent);"
set "s3=public static void PowerSleep(){ SetSuspendState(false, false, false); }';"
set "s4=add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"
set "ps_powersleep=%s1%%s2%%s3%%s4%"
call powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Bypass -Command "%ps_powersleep:"=\"%"
exit
Nó thậm chí hoạt động như một lệnh một dòng lớn:
powershell.exe -C "$m='[DllImport(\"Powrprof.dll\",SetLastError=true)]static extern bool SetSuspendState(bool hibernate,bool forceCritical,bool disableWakeEvent);public static void PowerSleep(){SetSuspendState(false,false,false); }';add-type -name Import -member $m -namespace Dll; [Dll.Import]::PowerSleep();"