如何通过 bat 文件关闭、重新启动或注销 Windows?
-
03-07-2019 - |
题
我一直在使用 远程桌面连接 进入工作站。但在这种环境下,我无法使用“开始”菜单中的电源选项。我需要一种替代方法来关闭或重新启动。
如何通过命令行控制计算机的电源状态?
解决方案
最常见的使用方法 shutdown
命令是:
shutdown -s
- 关闭。shutdown -r
— 重新启动。shutdown -l
— 注销。shutdown -h
— 冬眠。笔记: 用户认为存在一个常见的陷阱
-h
意思是“帮助”(它对所有其他命令行程序都是如此......除了shutdown.exe
, ,它的意思是“休眠”)。然后他们跑shutdown -h
并意外地关闭了他们的电脑。小心这一点。shutdown -i
—“交互模式”。它不执行操作,而是显示 GUI 对话框。shutdown -a
— 中止之前的关闭命令。
上面的命令可以与这些附加选项结合使用:
-f
— 强制程序退出。防止关闭过程卡住。-t <seconds>
— 设置关机前的时间。使用-t 0
立即关闭。-c <message>
— 添加关闭消息。该消息最终将出现在事件日志中。-y
— 对所有关闭查询强制回答“是”。笔记: 此选项未记录在任何官方文档中。它是由 这些 StackOverflow 用户.
我想确保除了这个答案之外还提到了其他一些非常好的答案。在这里,它们没有特定的顺序。
其他提示
如果您在远程计算机上,则可能还需要将-f选项添加到强制重新启动。否则,您的会话可能会关闭,顽固的应用程序可能会挂起系统。
每当我想强行立即重启时,我都会使用它:
shutdown -t 0 -r -f
为了更友好的<!>,给他们一些时间<!>选项,您可以使用:
shutdown -t 30 -r
正如您在评论中看到的那样,超时暗示了-f。
没有人提到过 -m
远程关机选项:
shutdown -r -f -m \\machinename
还:
- 这
-r
参数会导致重新启动(这通常是您在远程计算机上想要的,因为物理启动可能很困难)。 - 这
-f
参数选项强制重新启动。 - 当然,您必须具有适当的权限才能关闭远程计算机。
原答案:十月2008年
你还得到了所有 " 系列: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 年多后):
不要使用
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 开始就已被弃用,因为它违反了许多现代工程准则。
另一个小提示:当进入批处理文件路径时,我希望能够在意外运行它时中止它。因此,批处理文件会调用关闭,但之后会在命令提示符下离开。
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
另外,因为它是在一个计时器上,你会得到与你在在俄勒冈小道上狩猎。
当远程进入机器时(目标是Windows <!> nbsp; XP无论如何;我不确定目标Windows <!> Vista),尽管替换了开始菜单上的 Shutdown 通过断开会话或类似的东西,应该有一个名为'Windows Security',它也与 Ctrl + Alt + <相同kbd>结束,如Owen指出的那样。
你可能已经意识到了这一点,但以防万一:只需输入shutdown -r
(或任何你喜欢的命令)进入<!>“运行<!>”;框然后按回车。
保存处于任何地方的剩余批处理文件。
我迟到了,但还没看到这个答案。 如果您不想使用批处理文件或键入命令。您只需将焦点设置到桌面,然后使用 Alt + F4 。
Windows将询问您要执行的操作,选择关机或重新启动。
有关屏幕截图甚至视频,请参阅: https:/ /tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp