Bilgisayarı Komut İstemi / Çalıştır menüsünden nasıl uykuya koyabilirim?


144

Herhangi bir tür uygulamayı açmak gibi Windows'taki hemen hemen her şeyin komut isteminden veya Çalıştır menüsünden yapılabileceğini biliyorum .

Nasıl benim bilgisayar koyabilirsiniz uyku veya kapatmaya ? Bunun için komut nedir?


Komut istemine kapatma yazın ve anlattığım şeyden XP ve üzeri çıktıların çalışmasına bakın.
user10547

Yanıtlar:


128

shutdown.exeArkadaşın olarak bulacaksın .

Diğer kullanışlı komutlar bu yazıya bakın :

Uyku Bilgisayarı (daha fazla bilgi için https://superuser.com/a/463652/249349 )

İş İstasyonunu Kilitle

Hazırda Beklet Bilgisayar

see answers by Scott Chamberlain and Eric L

Bilgisayarı yeniden başlat

Shutdown.exe -r -t 00

Bilgisayarı Kapat

Shutdown.exe -s -t 00

DÜZENLEME / GÜNCELLEME:

Hazırda bekletme modu açıksa, bilgisayar uyuması sorunlu görünüyor.

Diğer cevaplardan kopyalama:

PsShutdown'ı deneyebilirsiniz veya:

Rundll32.exe powrprof.dll, SetSuspendState 0,1,0 uyku komutu doğru, ancak hazırda bekletme modunu kapatmazsanız uyku yerine hazırda bekleme moduna geçecektir.

İşte bunun nasıl yapılacağı:

Başlat Menüsüne gidin ve cmd.exe yazıp sağ tıklayıp Yönetici olarak çalıştır'ı seçerek yükseltilmiş bir Komut İstemi açın. Aşağıdaki komutu yazın:

powercfg -hibernate off

21
Sorun rundll32.exe powrprof.dll,SetSuspendState 0,1,0şu ki, BT olması gerektiği gibi ÇALIŞMIYOR. SetSuspendStatebilgisayarı bir tür Hibrit Uyku / Hazırda Bekletme moduna geçirir. Başlat menüsünden Uyku düğmesini kullandığınızda, klavyenizdeki herhangi bir tuşa basarak bilgisayarınızı uyku modundan çıkarabilirsiniz. Bu komut satırını kullanarak, daha derin uyku durumuna bağlı olarak daha yavaş devam eder ve yalnızca bilgisayarınızdaki güç düğmesine basarsanız devam edebilir. Bir tuşa basmaya devam edemez. Peki ... normal bekleme modundayken nasıl bir tuşa basılmasıyla devam ettirilebileceğini düşünüyorsun?
Kurumsal Geek

6
Düşüşler en az güvenilmeyen durumda değil. Cevabınız soruyu tek başına ele almıyor. Okuyucular, problemi çözmek için bir cevaptan yeterince yararlı bilgi toplayabilmeli , kırılmış veya ölen diğer sitelere herhangi bir bağlantı kurmadan takip etmelidir.
Iszi

5
Sorulan soruyu cevaplamaması için aşağı oy verildi: Bağlantılı sayfada bile, hazırda bekletme modu etkinleştirildiğinde makineyi uyku moduna geçirmek için açıklanan yöntem çalışmaz.
akurtser

4
Uyku komutunu da test ettim ve bunun istendiği gibi çalışmadığını onaylayabilirim. Nefret / trolling ile ilgisi yoktur, ancak bu komut işe yaramazsa, sorunun ana kısmı olduğu için soru cevapsız kalır.
reSPAWNed

6
rundll32arama için kullanılmamalıdır, SetSuspendStateçünkü imzası beklediğinizle eşleşmez rundll32. Bakınız: support.microsoft.com/en-us/kb/164787 ve msdn.microsoft.com/en-us/library/windows/desktop/… İlk parametre FALSE değeri yerine çöp alır. Sebep, neden uyumak yerine kış uykusuna yatması.
SergeyT

86

Başkalarının yayınladığı yöntemler, bir bilgisayar hazırda bekletme modunu etkinleştirdiyse, düzgün çalışmazsa, bilgisayar Klavye'de uyanmaz veya daha da önemlisi zamanlanmış görevde uyanmaz.

Microsoft'un Sysinternals aracından biri , bir bilgisayarı hazırda bekletme modundapsshutdown -d -t 0 değil, doğru biçimde uyuyacak komutunu kullanarak PsShutdown.


Yöneticiye yükseltilmesi gerekiyor
dsmtoday

3
Windows 10
x64'te

1
Win10x64 Sürüm 1709'da benim için çalışıyor, yönetici kullanıcı hesabıyla ancak run as administratorsağ tıklatma seçeneği olmadan cmd'yi çalıştırıyor
Viktor Carlson

3
Windows 10 ile benim için çalışıyor (yönetici olarak bile değil).
DAB

3
Windows 10 x64 içinde İşleri 15063. Bir gerekiyor İnşa PsTools indirmek ve kopyalama psshutdown.exeörneğin üzere Archiv gelen C:\Windows\System32pathprefix olmadan komutunu kullanabilmek için için. Daha sonra psshutdown -d -t 0, askıya almak için yönetici ayrıcalıklarıyla yürütmek gerekir . Bu, kabul edilen cevap olmalıdır , çünkü Windows önceden yüklenmiş araçlarla olmasa bile soruyu cevaplar.
Arch Linux Tux

19

rundll32.exe powrprof.dll,SetSuspendState 0,1,0Uyku komutu doğrudur - ancak, hazırda bekletme modunu kapatmazsanız uyku yerine hazırda bekletme moduna geçecektir.

İşte bunun nasıl yapılacağı:

Başlat Menüsüne gidin ve yazarak cmd.exe, sağ tıklayıp Yönetici olarak çalıştır'ı seçerek yükseltilmiş bir Komut İstemi açın . Aşağıdaki komutu yazın:

powercfg -hibernate off

5
Bence bunu çözen ilk cevap bu. Bu iki satırı koydum (ilk önce kapalı) ve bilgisayarı uyku moduna geçiren bir toplu iş dosyası yaptım. Bununla ilgili bir sorun, aslında istediğim gibi olmayan hazırda bekletme modunu kapatmasıdır, bu yüzden düzeltmek için, hazırda bekletme modunu "tek satırda" olan bir toplu işlemle açmak için "iş istasyonunda kilidini açma" ile tetiklenen zamanlanmış bir görev ekledim. powercfg - yasakla ". Sonra ilk toplu iş dosyası için kısa bir anahtar yapılandırdım. Bitti. Bir cazibe gibi çalışıyor, teşekkür ederim!
akurtser

Bu çok garip. Düzgün uyumadan önce hazırda bekletme modunun kapatılması gerekiyor mu? powrprof.dllHazırda bekletme açıkken karma uyku / askıya alma durumu için bir ad var mı ? Sadece bilmek istiyorum. ACPI devletlerinden herhangi biriyle mi ilgili?
Ehtesh Choudhury 12:12

4
rundll32arama için kullanılmamalıdır, SetSuspendStateçünkü imzası beklediğinizle eşleşmez rundll32. Bakınız: support.microsoft.com/en-us/kb/164787 ve msdn.microsoft.com/en-us/library/windows/desktop/… İlk parametre FALSE yerine çöp alır. Sebep, neden uyumak yerine kış uykusuna yatması.
SergeyT

Windows 10'a altında çalışmaz
T3rm1

@EhteshChoudhury, bu durumda sorun, Rundll32 parametrelerinin yanlış ve tamamen uygun olmamasıdır, böylece aslında SetSuspendState'i şu parametrelerle çağırırlar: Hazırda Beklet: DOĞRU, ForceCritical: TRUE, DisableWakeEvents: TRUE. Son kısım, bilgisayarı neden güç düğmesinden başka bir şeyle uyandıramadığınızı açıklar. Bu, yalnızca devre dışı bırakıldığında kış uykusuna yatmaya çalışmanın, bilgisayarınızı Win7'de uyku moduna geçirmesine neden olacak ve muhtemelen bazı insanlar için çalışmadığı bir tesadüf.
SilverbackNet

10

NirCmd Windows 8'de çalışıyor (Windows 7 ile de çalıştığını varsayıyorum) → http://www.nirsoft.net/utils/nircmd.html
Bu komut standby, ancak bilgisayarı uyku moduna geçiriyor.

nircmd.exe standby

Eğer hibrit uyku etkinse, işe yarayacak; yani, bilgisayarı uyku moduna geçirir ve güç kaybı durumunda belleği diske kopyalar.


1
Bu, Yönetici'ye yükseltmek zorunda kalmadan çalışır. Etkinleştirilmiş veya hazırda bekletme modu olmadan çalışır. Hibrit uyku ile beklendiği gibi çalışır. Win10 için güzel bir çözüm.
dsmtoday

3

Çok fazla şey yapabilen Wizmo'nun ücretsiz yardımcı programına bakın .
Aradığınız komut muhtemelen:

wizmo bekleme


1
Wizmo da aynı problemi yaşıyor rundll32.exe powrprof.dll,SetSuspendState 0,1,0- bilgisayarı uyku kipinde, uykuda değil
Andomar

2
Hayır, Vista'dan beri bilgisayarı gerçekten Hybrid Sleep'a yerleştiriyor . Bunu istemiyorsanız, Hibrit Uykuyu Kapat .
harrymc

1
Wizmo karartma, Windows 8.1, 10 çalıştı. BÜYÜK !!!!!!!!!!!!!
YumYumYum

Wizmo harika çalışıyor. Ne yazık ki, kurumsal virüs tarayıcım onu ​​siliyor, çünkü mcafee'nin bir trojan içerdiğini düşünmesini sağlayan bazı diziler içeriyor .
bastian

@bastian: Mcafee bir uygulama yazarı için her zaman kötü bir haberdi (kişisel deneyimden).
harrymc

3

İçin bir kısayol oluşturdum rundll32.exe powrprof.dll,SetSuspendState 0,1,0(0,0,0 ile de denedim), ancak kısayolu çalıştırmak bilgisayarımı hazırda bekletme moduna geçirmiş gibi görünüyordu. Klavyeyi kullanarak PC'yi uyandıramadım; Güç düğmesine basmak zorunda kaldım ve bilgisayar anakart mesajlarını vb. Gösterdi.

Windows API belgesini okuduktan sonra , sadece 3 satırlık yazarak çok basit bir program oluşturdum. Bu sayfaya derlediğim çalıştırılabilir dosyayı yükledim ("SleepTest.exe" yi tıklayın) , ancak bu dosya bir süre sonra silinebilir (bu sadece hızlı bir Google aramasıyla bulduğum ücretsiz bir dosya barındırma sitesidir).

Bana güvenmiyorsanız (ki bu tamamen iyi) veya dosya silinmişse, kodu kendiniz derleyebilirsiniz, Elbette. Linker'ın ek bağımlılıklarına "PowrProf.lib" eklemeniz gerekir.

#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,0aynı şeyi yapıyor gibi görünüyor, ancak bir şekilde, yukarıdaki program bilgisayarı hazırda bekletme moduna geçirmedi. Klavyedeki herhangi bir tuşa basarak PC'yi anında uyandırabilirim (ana kart posta mesajı vb. Değil).


2

Askıya alma veya hazırda bekletme seçeneklerini, aşağıda belirtilen ve bu makalede belirtilen komut satırından başlatabilirsiniz .

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState

Bilgisayarınız hazırda bekletme moduna izin verecek şekilde ayarlanmışsa, yukarıdaki komut hazırda bekletme modunu başlatır. Hazırda bekleme özelliği devre dışı bırakılmışsa, bekleme durumuna geçecektir. Diğer kullanıcıların daha önce yanıtladığı gibi, shutdown.exe /?birçok kapatma seçeneği sunar.


1
rundll32arama için kullanılmamalıdır, SetSuspendStateçünkü imzası beklediğinizle eşleşmez rundll32. Bakınız: support.microsoft.com/en-us/kb/164787 ve msdn.microsoft.com/en-us/library/windows/desktop/… İlk parametre FALSE yerine çöp alır, bu nedenle her zaman beklemede uyku.
SergeyT

1

Önce Hazırda Beklet'i pencerelerde devre dışı bırakmalı, sonra bilgisayarı Uyku durumuna almalısınız . Aşağıdaki iki komutu kullanın:

powercfg -hibernate off
rundll32.exe powrprof.dll,SetSuspendState 0,1,0

ve ters işlemi yapmak için , Bilgisayarı Hazırda Bekletme modunda , aşağıdaki komutları kullanın:

powercfg -hibernate on
rundll32.exe powrprof.dll,SetSuspendState Hibernate

3
rundll32arama amaçlı değildir SetSuspendStateve bunun için kullanılmamalıdır. İlk parametre doğru değer yerine çöp alır. Bu yüzden uyku moduna geçmek yerine daima kış uykusuna yatar (eğer kış uykusunu hiç devre dışı bırakmadıysanız).
SergeyT

@SergeyT Benim için çalışıyor gibi görünüyor (hazırda bekletme modunu devre dışı bıraktıktan sonra); Bunun pencereleri bozacağını mı söylüyorsun?
moondra

Yığını yozlaştırır (rundll32 farklı bir çağrı imzası beklediği için, aslında oraya henüz koyulmamış olan şeyleri çıkarır). Bu beklenmeyen davranışlara yol açar.
imoatama

@imoatama güzel bulgu ...
masterxilo

1

İşte kapatmak için CLI kullanma hakkında bir makale.

Microsoft, diğer faydalı araçlarla birlikte CLI kapanması sağlayan PsTools sağlar. Bunu elde edebilirsiniz burada .


1

sadece HIZLI UYKU benim için çalışıyor (Windows 7,8,10'da çalışıyor).

ps kaynak kodu burada mevcut .


1
Dosyayı aldığınız asıl siteye link verme şansınız var mı? İndirme dosyasına doğrudan bağlanmak, özellikle ga URL kısaltıcı kullanıldığında, dosyanın kötü amaçlı yazılım yazarları tarafından sıkça kullanılan bir taktik olduğundan, özellikle şüpheli görünmesine neden olabilir.
Mokubai

tamam, resmi siteye link güncellendi.
T.Todua

1

Python'unuz varsa (pywin32 ile birlikte), şu SetSuspendState işlevini doğrudan şu şekilde de çağırabilirsiniz:

import ctypes
ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)

Bu kolayca bir toplu iş dosyasına veya şöyle bir kısayol sorta koymak olabilir:

pythonw -c "import ctypes; ctypes.windll.PowrProf.SetSuspendState(0, 1, 0)"

Böylece yorumlayıcıya ilişkin .py dosyalarınız yoksa, bağlantıya çift tıklayabilirsiniz.


1

Sorunun kapanış kısmı herkes için açık.
shutdown.exe /?kapatma / yeniden başlatma / gelişmiş seçenekler önyükleme / firmware önyüklemesi için tüm seçenekleri gösterir.

Ancak, Uyku bölümünün etrafında atılan çok fazla durgunluk görüyorum.
Herkes rundll32.exerastgele işlevler çağırmak için kullanılmaması gereken bir şey alır ve burada sadece kış uykusu için tesadüf eseridir. Ancak bu, Windows’un doğası - insanların bir iş çıkarması için yüzlerce geçici çözüm bulduğu kara bir kutu (dostips’e bağırdı).

Dış araçları öneren pek çok " uygun " çözüm var , ancak bu soru yıllar boyunca aktif kalsa bile, yerel (karma / pinvoke / ne olursa olsun) bir toplu komut dosyası bulamıyorum . İşte benim basit power_sleep.bat :

@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

Hatta tek satırlık büyük bir komut olarak bile çalışır:

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();"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.