windows - update重新開機 - 取消重新啟動
我如何關閉-重新啟動-通過bat文件註銷Windows? (6)
以下是如何通過批處理文件執行關閉功能的方法:
-
shutdown -r
- 重新啟動 -
shutdown -s
- 關機 -
shutdown -l
- 註銷 -
shutdown -t xx
- 其中xx
是等待關機/重啟/註銷的秒數 -
shutdown -i
- 給你一個對話框來填寫你想要使用的功能 -
shutdown -a
- 中止以前的關機命令....非常方便! -
shutdown -h
- 休眠。 容易的錯誤 - 這不是為了幫助 -
shutdown -y
- 在關閉時刪除所有提示(幫助在任何文檔中都不可用)
其他選項:
-
-f
- 強制選擇的操作 -
-t <seconds>
- 設置關機時間。 使用-t 0
表示“now” -
-c <message>
- 將消息添加到關機
原始答案: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 - 重新啟動
- 4 -
FORCE
- 8 -
POWEROFF
(可以合併 - > 6 = 2 + 4 FORCE REBOOT
)
2015年4月更新(6年以上):
1800信息 在評論中慷慨地指出:
不要為此使用
rundll32.exe
。 它期望您在命令行上傳遞的函數具有非常特定的方法簽名 - 它與ExitWindows
的方法簽名不匹配。
雷蒙德陳寫道:
- 在2004年“ 當你與調用約定不匹配時會出現什麼問題? ”:
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);
- 在2011年:“ 在人行道上扔垃圾:Rundll32計劃的悲傷歷史 ”
為了讓它變得晶瑩剔透:
- 在2013年“ 什麼時候使用rundll32的指導?簡單:不要使用它 ”:
Rundll32
是來自Windows 95的剩餘物,至少從Windows Vista開始已經被棄用,因為它違反了很多現代工程指南。
如果您位於遠程計算機上,則可能還需要添加-f選項以強制重新啟動。 否則,您的會話可能會關閉,固執的應用程序可能會掛起系統。
每當我想強制立即重新啟動時,我都會使用它:
shutdown -t 0 -r -f
為了更友好的“給他們一些時間”選項,你可以使用這個:
shutdown -t 30 -r
正如你在評論中看到的那樣,-f被超時隱含。
您可能知道這一點,但以防萬一:只需在“運行”(Run)框中鍵入“shutdown -r”(或任何您喜歡的命令)然後按回車就會更容易。
保存將批處理文件放在任何地方。
沒有人提到遠程關機的-m
選項:
shutdown -r -f -m \\machinename
也:
-
-r
參數會導致重啟(這通常是遠程計算機上的要求,因為物理啟動可能很困難)。 -
-f
參數選項強制重新啟動。 - 當然,您必須擁有適當的權限才能關閉遠程機器。
當遠程進入一台機器(無論如何目標是Windows XP;我不確定目標Windows Vista),雖然開始菜單上的關機被斷開會話或類似的東西取代,應該有一個叫做“Windows安全”,它也會與Owen指出的Ctrl + Alt + End一樣。