@ECHO Off
set VON=false
if %VON%==false (
set VON=true
if !VON! NEQ true cmd /V:ON /K %0
)
REM MS-DOS命令从英文状态转到中文状态
GrafTabl /status |find "936" >nul
if %ErrorLevel% NEQ 0 GrafTabl 936 > nul
:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=41 LINES=18
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO =========================================
ECHO 请选择要进行的操作,然后按回车
ECHO ───────────────
ECHO.
ECHO 1. 重启机器
ECHO 2. 关机
ECHO 9. 退出
ECHO.
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" (SET Choice=%Choice:~0,1%) ELSE GOTO START
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="1" GOTO REBOOT
IF /I "%Choice%"=="2" GOTO SHUT
IF /I "%Choice%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho
:REBOOT
ECHO 您真的要重启本机器吗?
ECHO.
ECHO.
SET Choice=
SET /P Choice=重启请输入“REBOOT”:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,6%
IF /I "%Choice%"=="REBOOT" SHUTDOWN -R
GOTO START
:SHUT
ECHO 您真的要关闭本机器吗?
ECHO.
ECHO.
SET Choice=
SET /P Choice=重启请输入“SHUTDOWN”:
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,8%
ECHO.
IF /I "%Choice%"=="SHUTDOWN" SHUTDOWN -S
GOTO START
:DISPLAY
CLS
COLOR 3f
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=80 LINES=30
GOTO start
:END
把以上代码用记事本保存后更名为“关机.bat”
以下是Windows系统关机/重启的常用代码实现及详细说明,适用于命令行和编程开发场景:
一、基础命令行操作
-
立即关机
命令:shutdown /s /t 0
/s
:关机指令/t 0
:延迟0秒立即执行
示例:shutdown /s /t 0
-
定时关机
命令:shutdown /s /t [秒数]
- 示例:
shutdown /s /t 60
(60秒后关机)
- 示例:
-
立即重启
命令:shutdown /r /t 0
/r
:重启指令
示例:shutdown /r /t 0
-
取消计划操作
命令:shutdown /a
- 需在倒计时结束前执行
二、编程实现示例
-
Python脚本
import os os.system("shutdown /s /t 0") # 关机 os.system("shutdown /r /t 10") # 10秒后重启
引用
os
模块直接调用系统命令。 -
C#代码
using System.Diagnostics; Process.Start("shutdown.exe", "/s /f /t 0"); // 强制关机 Process.Start("shutdown.exe", "/r /t 60"); // 60秒后重启
通过
Process
类调用shutdown.exe
程序。
三、高级功能
-
强制终止应用程序
添加/f
参数强制关闭未响应程序:shutdown /s /f /t 0
-
远程控制其他计算机
使用/m \\计算机名或IP
参数:shutdown /r /m \\192.168.1.100 /t 0
-
计划任务结合
通过schtasks
命令创建定时任务,例如每天23点关机:schtasks /create /tn "AutoShutdown" /tr "shutdown /s" /sc daily /st 23:00
四、注意事项
- 权限要求:部分操作需以管理员身份运行命令行或程序。
- 参数兼容性:
shutdown
命令在Windows XP及以上系统通用。 - 日志记录:关机/重启操作会在系统日志中生成记录。
发表评论