比较复杂的一个关机重启bat代码。
@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”
发表评论