如何經過bat文件關閉,重啓或註銷Windows?

我一直在使用遠程桌面鏈接進入工做站。 但在此環境中,我沒法使用「開始」菜單中的電源選項。 我須要另外一種方法來關閉或重啓。 shell

如何經過命令行控制計算機的電源狀態? windows


#1樓

使用shutdown命令的最經常使用方法是: 函數

  • shutdown -s - 關閉。
  • shutdown -r - 從新啓動。
  • shutdown -l - 註銷。
  • shutdown -h - Hibernates。 spa

    注意:有一個常見的陷阱,用戶認爲-h表示「幫助」(它對每一個其餘命令行程序都有...除了shutdown.exe ,這意味着「休眠」)。 而後他們運行shutdown -h並意外關閉他們的計算機。 注意這一點。 命令行

  • shutdown -i - 「交互模式」。 它不顯示操做,而是顯示GUI對話框。 rest

  • shutdown -a - 停止先前的shutdown命令。

上面的命令能夠與這些附加選項結合使用: 日誌

  • -f - 強制程序退出。 防止關機過程卡住。
  • -t <seconds> - 設置關閉以前的時間。 使用-t 0當即關閉。
  • -c <message> - 添加關閉消息。 該消息將在事件日誌中結束。
  • -y - 強制全部關閉查詢的「是」答案。 code

    注意:此選項未在任何官方文檔中記錄。 它是由這些StackOverflow用戶發現的。 orm


我想確保還提到其餘一些很是好的答案。 在這裏他們沒有特別的順序。 htm


#2樓

若是您在遠程計算機上,則可能還須要添加-f選項以強制從新啓動。 不然您的會話可能會關閉,頑固的應用程序可能會掛起系統。

每當我想強制當即重啓時我都會使用它:

shutdown -t 0 -r -f

爲了更友好的「給他們一些時間」選項,你可使用這個:

shutdown -t 30 -r

正如您在註釋中看到的那樣,-f由超時隱含。

Brutus 2006是一個爲這些選項提供GUI的實用程序。


#3樓

原答案:2008年10月

你也獲得了全部 「 rundll32.exe shell32.dll 」 意甲:

(見下面的更新)

  • rundll32.exe user.exe,**ExitWindows** [Windows的快速關閉]
  • rundll32.exe user.exe,**ExitWindowsExec** [從新啓動Windows]

    rundll32.exe shell32.dll,SHExitWindowsEx n

其中n表明:

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

(能夠合併 - > 6 = 2 + 4 FORCE REBOOT


2015年4月更新(6年後):

1800信息 在評論中指出

不要將rundll32.exe用於此目的。 它指望您在命令行上傳遞的函數具備很是特定的方法簽名 - 它與ExitWindows的方法簽名不匹配。

Raymond CHEN寫道:

rundll32.exe調用的函數所需的函數簽名是:

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

這並無阻止人們使用rundll32來調用那些不是由rundll32調用的隨機函數,好比user32 LockWorkStation或者user32 ExitWindowsEx

(糟糕)

ExitWindowsEx的實際函數簽名是:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

並使其清晰:

Rundll32是Windows 95的遺留物,至少從Windows Vista開始就被棄用,由於它違反了許多現代工程指南。


#4樓

當遠程進入一臺機器時(不管如何目標是Windows XP;我不肯定目標Windows Vista),雖然開始菜單上的ShutdownDisconnect Session或相似的東西取代,但應該有一個名爲'Windows Security'的與Owen所指向的Ctrl + Alt + End相同。


#5樓

您可能已經意識到這一點,但以防萬一:只需在「運行」框中鍵入shutdown -r (或任何您喜歡的命令)並按Enter便可。

保存各處的剩餘批處理文件。

相關文章
相關標籤/搜索