Saya ingin membuat file batch yang akan menidurkan komputer saya setelah jangka waktu tertentu.
Hal terdekat yang saya temukan adalah menempatkannya dalam keadaan siaga, tetapi tampaknya berfungsi berbeda dari tombol tidur pada keyboard saya (boot yang lebih lama, tidak terbangun dengan klik mouse). Ada ide? Apakah lebih mudah menggunakan Python atau C #?
Teknik yang kurang ideal yang disebutkan di atas menyebut ini dalam cmd prompt:
Rundll32.exe powrprof.dll,SetSuspendState
windows-7
sleep
batch-file
Saebin
sumber
sumber
Jawaban:
Cukup perintah
Apakah sistem hibernasi , tetapi jika Anda menulis ini:
Dan matikan hibernasi dengan perintah:
Sekarang sistem Anda akan tertidur, dan akan bangun dengan gerakan mouse jika memilih perangkat untuk itu (gulir ke bawah untuk mempelajari caranya).
Batch timer:
Di mana 1200 adalah detik, yang berarti setelah 20 menit batch akan menjalankan perintah sleep.
Secara opsional, Anda dapat mencegah pembatalan hitung mundur (jika Anda menekan tombol apa saja di jendela kumpulan):
HOWTO kecil tentang bangun dengan mouse:
Pergi ke: Mulai -> Control Panel -> Mouse.
Di jendela Mouse Properties , klik tab Hardware dan pilih mouse Anda dari daftar perangkat. Biasanya, hanya akan ada satu mouse yang terdaftar di sini tetapi itu akan tergantung pada perangkat keras yang Anda terhubung ke komputer Anda. Ketika Anda telah memilih mouse dari daftar, klik tombol Properties .
Sekarang di jendela Properties untuk mouse Anda, klik tombol Change Settings pada tab General .
Di jendela yang terbuka, klik tab Manajemen Daya dan centang opsi berjudul Izinkan Perangkat Ini untuk Membangunkan Komputer . Klik tombol OK di jendela ini dan klik tombol OK di jendela Mouse Properties yang masih terbuka. Mulai sekarang, Anda dapat membangunkan Windows 7 dari mode tidur dengan mengklik tombol mouse atau menggerakkan mouse.
sumber
akan hibernasi komputer (tidak yakin tentang penundaan sementara).
sumber
Solusi bekerja!
Saya harus menggunakan
PsShutdown
utilitas untuk memungkinkan tidur yang benar (masalah utama adalahSetSuspendState
tidak memungkinkan pengukur waktu bangun mesin). File batch saya untuk tidur adalah 1 baris sederhana:sumber
.NET untuk menyelamatkan. Solusi ini membuat komputer tidur tanpa perlu mengubah konfigurasi PC (mematikan hibernasi). Jalankan perintah ini dalam batch:
powershell.exe -command "Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.Application]::SetSuspendState([System.Windows.Forms.PowerState]::Suspend, $false, $false)"
Anda dapat menggunakannya
::Suspend
untuk tidur, atau::Hibernate
(yang mana cara jawaban lainnya bekerja). Dokumentasi untuk SetSuspendState.Karena
System.Windows.Forms
namespace tidak dimuat secara default (tidak di Powershell ISE), Anda harus memuat perakitan untuk itu pada awalnya.jawaban asli
sumber
Anda dapat mencoba SetSystemPowerState untuk menghindari keharusan menonaktifkan Hiberanate.
rundll32.exe kernel32.dll, SetSystemPowerState
Perhatikan bahwa menambahkan 1,0 atau 1 0 atau bahkan melakukan powrprof.dll Rundll32.exe, SetSuspendState 0 0 1 atau powrprof.dll Rundll32.exe, SetSuspendState 0,0,1 bahwa argumen (0,0,1) berarti TIDAK ADA.
The powrprof.dll, SetSuspendState tidak menguraikan argumen gaya rundll32 dan karenanya mengabaikannya. Itu sebabnya Anda harus menonaktifkan hibernate.
sumber
Pertanyaan ini sudah dijawab.
powercfg -h off & start / min "" C: \ WINDOWS \ System32 \ rundll32.exe PowrProf.dll, SetSuspendState 0,1,0 & ping -n 3 127.0.0.1> nul & powercfg -h saat & keluar
Lihat yang berikut ini:
Apa perintah yang digunakan untuk mematikan komputer Anda (tidak hibernasi)?
sumber
Cukup buat file batch dan masukkan baris berikut:
sumber