Bir bat dosyası aracılığıyla Windows'u nasıl kapatabilirim, yeniden başlatabilirim veya oturumu nasıl kapatabilirim?


660

Bir iş istasyonuna girmek için Uzak Masaüstü Bağlantısı kullanıyorum . Ancak bu ortamda, Başlat Menüsündeki güç seçeneklerini kullanamıyorum. Kapatmak veya yeniden başlatmak için alternatif bir yola ihtiyacım var.

Bilgisayarımın güç durumunu komut satırından nasıl kontrol edebilirim?

Yanıtlar:


1164

shutdownKomutu kullanmanın en yaygın yolları şunlardır:

  • shutdown -s - Kapat.
  • shutdown -r - Yeniden başlar.
  • shutdown -l - Oturumu kapatır.
  • shutdown -h - Hazırda bekletme.

    Not: Kullanıcıların -h"yardım" anlamına geldiğini düşündükleri yaygın bir tuzak vardır (bunun diğer tüm komut satırı programları için ... shutdown.exe"hazırda beklet" anlamına geldiği durumlar hariç ). Daha sonra shutdown -hbilgisayarlarını çalıştırır ve yanlışlıkla kapatırlar. Buna dikkat et.

  • shutdown -i- "Etkileşimli mod". Bir eylem gerçekleştirmek yerine, bir GUI iletişim kutusu görüntüler.

  • shutdown -a - Önceki kapatma komutunu iptal eder.

Yukarıdaki komutlar aşağıdaki ek seçeneklerle birleştirilebilir:

  • -f- Programları çıkmaya zorlar. Kapatma işleminin takılmasını engeller.
  • -t <seconds>- Kapanma zamanını ayarlar. -t 0Hemen kapatmak için kullanın .
  • -c <message>- Bir kapatma mesajı ekler. Mesaj, Olay Günlüğünde sonlanır.
  • -y - Tüm kapatma sorgularına "evet" cevabını zorlar.

    Not: Bu seçenek herhangi bir resmi belgede belgelenmemiştir. Bu StackOverflow kullanıcıları tarafından keşfedildi .


Bununla birlikte başka gerçekten iyi cevapların da belirtildiğinden emin olmak istiyorum. Burada belirli bir sırada değiller.


188
Bir sonraki cevapta -f (kuvvet için) kullanımı hakkında bilgi edinin. Hafta sonu boyunca gezegenin diğer tarafında kapanma durumunda olan ve şu anda bilgisayar takılı olmayan adamı söylüyor (:
pasx

11
Sadece /<switch>yerine kullandığım +1 -<switch>. Yardım bölümü de kullanır /.
legends2k

Deneyimim: Uzak Masaüstü'nde (OP'den bahsedildiği gibi) -s seçeneğinin (kapanma) kullanılması yalnızca uzak masaüstünü sonlandırır, ancak uzak makineye dokunmaz.
Heri

3
Uzak Makineler için "-r" kullanıyorum. Böylece yeniden başlatılacak ve manuel müdahaleye gerek kalmayacak.
granadaCoder

6
Uzak bir makinedeyseniz, -fyeniden başlatmaya zorlama seçeneğini de eklemek isteyebilirsiniz . Aksi takdirde oturumunuz kapanabilir ve inatçı bir uygulama sistemi asabilir. Hemen bir yeniden başlatma zorlamak için: shutdown -t 0 -r -f. Bir daha samimi "Onlara biraz zaman ver" seçeneği için, bu kullanabilirsiniz: shutdown -t 30 -r. -fZaman aşımı ima edilmektedir. ( Mateusz Konieczny tarafından önerilen düzenlemeden )
Ole VV

375

Uzak bir makinedeyseniz, yeniden başlatmaya zorlamak için -f seçeneğini de eklemek isteyebilirsiniz . Aksi takdirde oturumunuz kapanabilir ve inatçı bir uygulama sistemi asabilir.

Hemen yeniden başlatmaya zorlamak istediğimde bunu kullanıyorum:

shutdown -t 0 -r -f

Daha dostane bir "onlara biraz zaman ver" seçeneği için bunu kullanabilirsiniz:

shutdown -t 30 -r

Yorumlarda da görebileceğiniz gibi, -f zaman aşımı anlamına gelir.

Brutus 2006, bu seçenekler için GUI sağlayan bir yardımcı programdır.


15
Windows 8.1'de kapatma yardımını okuyorum: "Zaman aşımı süresi 0'dan büyükse, / f parametresi ima edilir." Ve varsayılan zaman aşımı 30 saniye olduğu için temiz kapatma için biraz zaman vermenin tercih edildiğini düşünüyorum ve sonra zorla kapatma zaman aşımından sonra gerçekleşir.
Zitrax

2
İyi bir noktaya değindin. Bunu yazdığımda, kullandığım işletim sisteminin Windows XP olduğuna inanıyorum. "/ F ima ediliyor" ifadesinin Windows 7'de de olduğunu görüyorum. Örneği buna göre değiştirdim.
JosephStyons

2
Varsayılan olarak 30 saniyeleri vardır. Anında kullanıyorum: kapatma / r / t 0 ve dostça: kapatma / r
dzampino

81

Kimse -muzaktan kapatma seçeneğinden bahsetmedi :

shutdown -r -f -m \\machinename

Ayrıca:

  • -rParametre (fiziksel güç olabilir başlayan beri, bir uzak makinede istediğini genelde) yeniden başlatma neden olur.
  • -fParametre seçeneği yeniden başlatma zorlar.
  • Elbette uzak makineyi kapatmak için uygun ayrıcalıklara sahip olmalısınız.

2
makine adı bir IP adresi olabilir mi? Yani, bunu internet üzerinden yapabilir misin?
mcmillab

Makineye \\IP.AD.DR.ESS(yani gerekli bağlantı noktaları açık ve gerekli izinlere sahipseniz) erişebiliyorsanız, evet, bu internet üzerinden çalışmalıdır.
Timothy Zorn

İlk önce -r ile denedim ve işe yaramadı çünkü uzaktan kapatma istedim. Shutdown -r -m ile çalıştı. -f gerekmiyordu.
Dchris

38

Orijinal cevap: Ekim 2008

Ayrıca tüm " rundll32.exe shell32.dll" serie:

(aşağıdaki güncellemeye bakın)

  • rundll32.exe user.exe,**ExitWindows** [Windows'un Hızlı Kapatılması]
  • rundll32.exe user.exe,**ExitWindowsExec** [Windows'u yeniden başlat]

    rundll32.exe shell32.dll,SHExitWindowsEx n
    

burada n:

  • 0 - LOGOFF
  • 1 - SHUTDOWN
  • 2 - REBOOT
  • 4 - FORCE
  • 8 - POWEROFF

(kombine edilebilir -> 6 = 2 + 4 FORCE REBOOT)


Nisan 2015'i güncelleyin (6+ yıl sonra):

1800 BİLGİ lütfen yorumlarda dikkat çeker :

rundll32.exeBu amaçla kullanmayın . Komut satırında ilettiğiniz işlevin çok özel bir yöntem imzası olmasını bekler - yöntem imzasıyla eşleşmez ExitWindows.

Raymond CHEN şunu yazdı:

Tarafından çağrılan işlevler için gereken işlev imzası rundll32.exe:

void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
       LPSTR pszCmdLine, int nCmdShow);

Bu, insanların , veya gibi rundll32çağrılmak üzere tasarlanmamış rastgele işlevleri çağırmak için kullanılmasını engellemedi .rundll32user32 LockWorkStationuser32 ExitWindowsEx

(Hop)

ExitWindowsEx için gerçek işlev imzası:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

Ve kristal netliğinde yapmak için:

Rundll32 Windows 95'in artıklarından biri ve en azından Windows Vista'dan beri pek çok modern mühendislik yönergesini ihlal ettiği için kullanımdan kaldırıldı.


3
Shutdown ve poweroff arasındaki fark nedir?
Asdfg

17
@Asdfg bugün mü? Yok. NT4 ve öncesi için, anakart her zaman gücü kapatmayı desteklemedi, sadece kapatıldı (pencereler tamamen kapatıldı, ancak PC hala elektrik gücü altındaydı). Sadece güç verin (donanım o anda destekliyorsa) pencereleri kapattı ve elektrik gücünü kesin. Bugün hem kapanma hem de kapanma bunu yapıyor.
VonC

2
Bu amaç için rundll32.exe kullanmayın. Komut satırında ilettiğiniz işlevin çok özel bir yöntem imzası olmasını bekler - ExitWindows'un yöntem imzasıyla eşleşmez.
1800 BİLGİ

2
@ 1800INFORMATION çok iyi bir nokta. Bunun geçerli bir seçenek olmadığını açıkça belirtmek için cevabı yeniden yazdım .
VonC

3
Adil olmak gerekirse, bilgisayarı hemen kapatıyorsanız, ne tür bellek sızıntısı veya yığın bozulmasına neden olduğunuz önemli değildir.
17'de PRMan

10

Başka bir küçük ipucu: toplu iş dosyası yoluna giderken, yanlışlıkla çalıştırmam durumunda iptal etmeyi severim. Böylece, toplu iş dosyası kapatmayı başlatır, ancak daha sonra sizi komut isteminde bırakır.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r

Ayrıca, bir zamanlayıcıda olduğu için, Oregon Trail'de avlanırken yaptığınız gibi aynı heyecanı yaşarsınız .


1
banyo dosyasına duraklama koyabilir ve sonra komutu iptal edebilirsiniz, bu tür iptal sırası herhangi bir anahtar olacaktır
rsk82 15

@ rsk82, iyi bir şey yazarak kurtulmak, Oregon Trail'deki TRS-80 kopyamın talihsiz bir sınırlamasıydı, ama açıkçası her zaman hile olduğunu düşündüm ve kardeşim her yaptığımda öfkelenirdi. Sadece şunu söylüyorum: neden kardeşimi kızdırmak istersiniz?
Gavin

7

Bir makineye kaldırıldığında (hedef zaten Windows XP'dir; hedef Windows Vista'dan emin değilim), ancak Başlat menüsündeki Kapatma Bağlantıyı Kes Oturumuyla veya bunun gibi bir şeyle değiştirilse de, Windows Güvenlik Owen'ın işaret ettiği Ctrl+ Alt+ ile aynı şey End.


Bu yöntemi kullanırdım ama artık çalışmıyor, komut satırı öyle.
user742864

Ayrıca kapatma, yeniden başlatma, hazırda bekletme, kilit RDP'de çalışan düğmeleri olan bir gadget var.
user742864

7

Muhtemelen bunun farkındasınızdır, ancak her ihtimale karşı: shutdown -r"Çalıştır" kutusuna yazmanız (veya istediğiniz herhangi bir komutu) ve enter tuşuna basmanız çok daha kolaydır .

Toplu iş dosyalarını her yerde yatarken kaydeder.


Evet ... Ben sadece orada oturan çift tıklamayı seviyorum ... -r yarasa dosyası için de budur; o)
Keng

17
programlara koymak için dikkatli değil-> başlangıç ​​:)
Dean Rather

aw .. ve kod bir shutdown.bat dosyasına yerleştirilirse meraklı davranışlar elde edilir. Dene!
:)

6

Bu temel bir oturum kapatma komutu için Not Defteri'nde veya WordPad'de yazacaktı :

@echo off
shutdown -l

Bu, temel olarak başlat ve oturumu kapat öğelerini tıklatmakla aynıdır, ancak toplu iş dosyasını hazır bulundurmanız biraz daha hızlıdır.


5

Partiye geç kaldım ama bu cevabı henüz görmedim. Bir toplu iş dosyası kullanmak veya komutu yazmak istemediğinizde. Odağı masaüstüne ayarlayıp Alt+ kullanabilirsiniz F4.

Windows size ne yapmak istediğinizi soracak, kapatmayı veya yeniden başlatmayı seçecektir.

Ekran görüntüleri ve hatta bir video için bkz. Https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp


3
@Keng, asıl sorunu okumak için "Başlat menüsünde kapatma / yeniden başlatma işlevini kullanamıyorum" bana bunu nasıl yapacağınızı bilmek istiyorum. Komut satırı bir çözüm, klavye başka bir çözüm. Bu soruya rastlayan ve kapatma veya yeniden başlatma için kolay bir çözüm isteyen diğer kullanıcılara yardımcı olabilir.
msoft
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.