Bagaimana cara menonaktifkan mode tidur melalui CMD?

10

Dengan hanya command prompt, apakah mungkin untuk menonaktifkan mode tidur saat menutup penutup laptop?

kb67
sumber
1
Karena penasaran, apakah ini hanya pertanyaan teoretis belaka atau adakah alasan khusus yang perlu Anda lakukan ini? Saya bertanya karena mungkin ada cara lain untuk menyelesaikannya jika itu masalahnya.
Shinrai
Yah saya perlu melakukannya dari jarak jauh dan saya hanya memiliki acesss prompt laptop.
kb67
1
Mungkinkah tidak lebih mudah hanya dengan memandu pengguna laptop melakukannya? Saya pikir komentar iglvzx benar dan tidak ada cara untuk dengan mudah mengubah tindakan tutup pendek dari pengeditan registri manual.
Shinrai
Yah, saya sudah terbukti salah, ada cara melakukannya melalui powercfg, tapi saya pikir itu cukup terlibat sehingga masih mungkin lebih mudah untuk hanya membicarakannya.
Shinrai

Jawaban:

13

Perintah yang Anda cari adalah powercfg. Buka prompt perintah dan ketikpowercfg –q >poweroptions.txt

Ini akan membuat file teks (poweroptions.txt) dengan semua GUID untuk pengaturan daya. Buka file poweroptions.txt dan temukan GUID untuk skema daya saat ini. Ini harus di bagian paling atas file dan akan terlihat seperti ini:

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

Salin dan tempel hanya GUID (dalam contoh ini - 381b4222-f694-41f0-9685-ff5bb260df2e) ke dalam file teks kosong yang baru. Kemudian gulir dan temukan GUID Subkelompok untuk tindakan "Tombol dan tutup daya". Salin dan tempel GUID ini ke file teks baru yang sama sebagai baris terpisah. Sekarang temukan GUID Pengaturan Daya untuk "Tutup tindakan dekat" dan salin dan tempel yang satu di bawah dua lainnya. Harap perhatikan juga nomor 'Possible Setting Index' untuk opsi yang Anda inginkan (dinonaktifkan adalah 000). Anda harus menjalankan perintah sekali untuk setiap skema daya, daya DC dan AC untuk mencakup kedua situasi. Perintahnya akan terlihat seperti ini:

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

Saya menguji ini dan perintah saya terlihat seperti ini:

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

Perintah kedua adalah ketika pengguna menggunakan baterai dan persis sama kecuali kita menggunakan sakelar –SETDCVALUEINDEX.

Ini adalah halaman opsi baris perintah Powercfg resmi dari Microsoft untuk referensi lebih lanjut.

dwolters
sumber
Hai David - Saya senang melihat Microsoft memiliki orang-orang yang melakukan penjangkauan di situs-situs seperti ini, sangat menggembirakan. Namun, Anda tidak perlu menandatangani pos di situs Stack Exchange apa pun, dan benar-benar berkecil hati - inilah gunanya lencana pengguna Anda.
Shinrai
Shrinrai, Maaf, saya mengunjungi begitu banyak forum berbeda setiap hari, sulit untuk menjaga semua fitur tetap. Saya akan melihat lencana pengguna saya.
dwolters
1
powercfgSepertinya contoh yang bagus dari "bagaimana tidak menulis alat baris perintah": /
Martin von Wittich
7

Topiknya di sini adalah Cara menonaktifkan mode tidur melalui CMD?

Dengan asumsi Anda telah mengonfigurasi tutup laptop Anda untuk tidak melakukan apa-apa ketika ditutup:

powercfg -x -standby-timeout-ac 0

(entah bagaimana switch -x tidak bekerja untuk saya, jadi saya telah mengubahnya ke / x dan berfungsi. sisa switch tetap -standby-timeout-ac )

Seperti yang ditunjukkan pada halaman Technet Microsoft "Opsi Opsi-Perintah Powercfg" ( https://technet.microsoft.com/en-us/library/cc748940(v=ws.10).aspx ), perintahnya adalah:

> powercfg -x nilai pengaturan (nilai yang Anda lihat adalah "standby")

oleh karena itu: > powercfg -x -standar-timeout-ac menit (nonaktifkan = 0 menit)

CATATAN: ac = terhubung ke daya listrik / dc = bekerja pada baterai (jadi jika Anda ingin menonaktifkan mode tidur saat bekerja dengan daya baterai, ganti "ac" dengan "dc" pada perintah, sehingga akan terlihat seperti powercfg -x -standby-timeout-dc 0)

wikilon
sumber
1
Ini bekerja pada Win 7 dan Win 10, terima kasih! Satu-satunya persyaratan - untuk menjalankan CMD sebagai Administrator.
TPAKTOPA
1
Masalah dengan -xmungkin itu adalah tanda hubung penuh, bukan simbol negatif normal.
Joel Coehoorn
2

Berdasarkan dari jawaban sebelumnya saya menulis file batch.

@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

Anda perlu mengubah %% i menjadi% i jika mencoba menjalankan perintah ini secara langsung di command prompt (di luar batch).

Jeremy
sumber
1

Berdasarkan skrip dari Jeremy dan Jonas Herdick, saya menulis skrip toggle ini, yang independen terhadap lokalisasi (demikian juga bekerja dengan windows Jerman) dan membantu saya untuk menonaktifkan dan mengembalikan (ke apa pun sebelumnya) tutup tutup tindakan ketika meletakkan saya notebook ke dok (di mana tutupnya perlu ditutup). Dan ya, jangan lupa untuk mengaktifkan kembali powerscheme saat ini setelah setiap perubahan seperti yang disebutkan 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%
sc911
sumber
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
mizuki
sumber
0

Microsoft memiliki halaman panjang tentang powercfgopsi baris perintah.

Anda mungkin akan membaca di -xsaklar. Saya hanya terbiasa powercfgmengubah pengaturan hibernasi.


sumber
1
powercfgtidak memiliki opsi untuk mengubah lid close action. Opsi daya disimpan di dalam Registri di bawah HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicytetapi tidak jelas nilai mana dalam data biner pergi dengan pengaturan yang mana.
iglvzx
Terima kasih untuk umpan baliknya. Saya tidak yakin tetapi saya senang saya terhubung ke tempat yang sama dengan David :-)
0

Satu hal lagi. Ingatlah untuk menambahkan "powercfg -S% StrOne%" di akhir skrip untuk mengaktifkan pengaturan. Pengaturan lain hanya akan diatur, tetapi tidak disimpan / diaktifkan.

KallePower
sumber
0

Coba NoDoz . Setelah diinstal, Anda dapat lari nodozdari cmd prompt (atau terminal PowerShell) untuk menjaga sistem Anda dari tidur tanpa batas. Atau, Anda dapat meneruskan dalam parameter batas waktu ingin -t 6h13magar program secara otomatis berakhir setelah jumlah waktu yang sewenang-wenang.

Nick Spreitzer
sumber