400-680-8581
欢迎访问:路由通
中国IT知识门户
位置:路由通 > 资讯中心 > 零散代码 > 文章详情

几种关机重启代码

作者:路由通
|
282人看过
发布时间:2013-06-14 08:46:17
标签:
权限要求‌:部分操作需以管理员身份运行命令行或程序。‌参数兼容性‌:shutdown命令在Windows XP及以上系统通用。‌日志记录‌:关机/重启操作会在系统日志中生成记录。以下是Windows系统关机/重启的常用代码实现及详细说明,适用于命令行和编程开发场景
几种关机重启代码
比较复杂的一个关机重启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”

以下是Windows系统关机/重启的常用代码实现及详细说明,适用于命令行和编程开发场景:



一、基础命令行操作




  1. 立即关机
    命令:shutdown /s /t 0


    • /s:关机指令

    • /t 0:延迟0秒立即执行
      示例:shutdown /s /t 0



  2. 定时关机
    命令:shutdown /s /t [秒数]


    • 示例:shutdown /s /t 60(60秒后关机)



  3. 立即重启
    命令:shutdown /r /t 0


    • /r:重启指令
      示例:shutdown /r /t 0



  4. 取消计划操作
    命令:shutdown /a


    • 需在倒计时结束前执行





二、编程实现示例




  1. Python脚本


    import os os.system("shutdown /s /t 0") 关机 os.system("shutdown /r /t 10") 10秒后重启

    引用os模块直接调用系统命令



  2. C代码


    using System.Diagnostics; Process.Start("shutdown.exe", "/s /f /t 0"); // 强制关机 Process.Start("shutdown.exe", "/r /t 60"); // 60秒后重启

    通过Process类调用shutdown.exe程序





三、高级功能




  1. 强制终止应用程序
    添加/f参数强制关闭未响应程序:
    shutdown /s /f /t 0



  2. 远程控制其他计算机
    使用/m \\计算机名或IP参数:
    shutdown /r /m \\192.168.1.100 /t 0



  3. 计划任务结合
    通过schtasks命令创建定时任务,例如每天23点关机:
    schtasks /create /tn "AutoShutdown" /tr "shutdown /s" /sc daily /st 23:00





四、注意事项



  • 权限要求‌:部分操作需以管理员身份运行命令行或程序

  • 参数兼容性‌:shutdown命令在Windows XP及以上系统通用

  • 日志记录‌:关机/重启操作会在系统日志中生成记录

相关文章
2个或多个路由器有线连接怎么设置

昨天遇到朋友说家里加了个无线路由器但就是用不了他同事帮忙设置的。我回想了一下,他家里面的网络是我设置的,是电信的光纤猫,我设置的自动拨号。所以我怀疑他同事把

2013-06-18 09:02:00
215人看过

在运行一些程序时经常弹出microsoft office professional edition 2003安装程序,怎么解决??

其实很简单使用Windows Install Clea...

2013-06-06 10:02:57
352人看过
无线路由器的设置之怎样防止无线路由器假死

无线路由器的假死指的是显示电脑和无线路由的连接正常,但是却提示无internet访问,只能重新启动路由器才能解决这个问题。造成这

2013-06-15 11:35:00
179人看过
无线猫自动拨号绝技

使用电信ADSL宽带的用户都知道,要想上网,必须在电脑上安装拨号程序或建立拨号连接,每次都要先拨号才能上网, 很气人;更气人的是每台电脑都要安装拨号程序或连接;更更气人的是现在很多用户都采用包...

2013-06-06 15:11:00
277人看过
自制的无线路由器散热器

天气热了,为了对无线路由器散热,在网上学习别人给无线路由器散热的经验。找了一篇。分享给大家。其实这个方法也可以做笔记本电脑的散热底座。

 

     ...

2013-06-07 09:29:00
42人看过
中国电信全国各地VPIVCI及DNS值(二)
全国各地的vpi vci值我国常用的VCI/VPI组合:0/35】【8/35】【0/100】【0/32】【8/81】【8/32】【0/33】【1/33】【0/16】【1/39】(0,38)(0,39)(0,40)(0,67)(0,80)(0,200) (8,36) (8,88)
2013-06-06 09:58:38
51人看过