`

经典批处理实现自动关机.BAT

F# 
阅读更多

@ECHO off
TITLE 自动关机程序 作者:廖晓青

: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 3. 删除定时关机任务
ECHO 4. 查看任务状态
ECHO 5. 刷新当前时间
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO.

:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="1" GOTO SetHour
IF /I "%Choice%"=="2" GOTO outtime
IF /I "%Choice%"=="3" GOTO delAt
IF /I "%Choice%"=="4" GOTO view
IF /I "%Choice%"=="5" GOTO start
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choice%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho

:SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否设定为每天执行关机命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour

:yes
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yes

:no
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO no

:ok
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%时%am%分
) ELSE (
SET HM=%bh%时%bm%分)
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分
IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭
IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续...
PAUSE >nul
GOTO start

:outtime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ────────
ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime

:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续...
pause >nul
GOTO start

:view
MODE con: COLS=85 LINES=18
COLOR 70
ECHO.
at
ECHO 按任意键继续...
PAUSE >nul
GOTO start

:restart
shutdown -r -t 0

:lock
rundll32.exe user32.dll,LockWorkStation
goto start

:logoff
logoff

:end
exit

分享到:
评论

相关推荐

    windows 自动关机 bat 批处理 自动关机 定时关机 每天定时关机

    下面将详细介绍如何通过创建批处理文件并使用任务计划程序来实现Windows系统的自动关机功能。 ### 创建批处理文件 首先,我们需要创建一个批处理文件,这个文件将包含执行自动关机命令的脚本。批处理文件通常以....

    批处理 自动关机.bat

    对于校园网用户,经常是按点断电,必须时刻考虑断电问题,该批处理文件可以让你丢掉这个烦恼,里边的时间可以自己去改,只需将bat该为txt,改完后再改回来即可。 放在系统启动项里边,就会开机自启动。

    批处理实现自动关机

    在这个场景中,我们关注的是如何利用批处理脚本来实现自动关机功能。这个过程涉及到Windows操作系统中的命令行工具,尤其是“shutdown”命令。 首先,批处理文件的扩展名为.bat,它包含了一行或多行的DOS命令,这些...

    700个批处理打包下载.rar

    sz.reg转换成reg.bat.bat un3721.bat un3721.reg USB.BAT WENJIAN.txt win2000关机命令.bat Windows安全优化小助手.cmd xp下确定最后的盘符.bat XP服务优化批处理.bat YS从桌面复制文件到其他地方.bat 一键清理系统...

    自动关机.bat

    windows自动关机批处理文件,要啥第三方软件,安全可靠,可查可抗

    清理垃圾完后关机.bat

    清理垃圾完后关机.bat 无毒批处理 很简单,下载后自己编辑看代码即可。。

    win10批处理自动关机、定时关机_win10_脚本_批处理_定时关机_自动关机_

    在这个场景中,"win10批处理自动关机、定时关机_win10_脚本_批处理_定时关机_自动关机_" 提供了三种功能,分别是: 1. 指定时刻关机:用户可以设定一个具体的小时和分钟来让计算机在设定的时间自动关机。时间格式...

    可定时自动关机的bat文件

    需要注意的是,虽然批处理文件提供了一种便捷的方式来实现自动关机,但这种方法并不适合所有情况。例如,如果你的计算机正在运行需要长时间运行的任务,如大文件的下载或备份,更推荐使用专门的计划任务工具,如...

    电脑如何通过批处理文件实现定时关机.docx

    总结来说,通过批处理文件实现电脑定时关机是一项简单而实用的操作,可以方便我们安排电脑在特定时间自动关机,避免长时间运行导致资源浪费或硬件过热。只需掌握基本的批处理命令语法,就可以自定义更多的自动化任务...

    批处理 智能 自动关机 小程序

    在这个"批处理智能自动关机小程序"中,作者利用批处理语言的特性,创建了一个能够实现定时、倒计时等多种关机功能的实用工具。 这个小程序的核心功能包括定时关机、倒计时关机、系统重启和注销等操作。定时关机允许...

    如何取消自动关机的批处理.rar

    批处理文件 "取消自动关机.bat" 将是这个过程的关键。 批处理文件(.bat)本质上是包含一系列命令的文本文件,这些命令会被Windows操作系统逐行执行。在本例中,"取消自动关机.bat" 可能包含了取消自动关机的特定...

    bat批处理命令和自动关机命令

    Bat 批处理命令和自动...Bat 批处理命令和自动关机命令是非常有用的工具,可以帮助我们实现自动化操作、磁盘整理、备份网络配置等多种功能。通过本文的介绍,我们可以更好地了解和使用这些命令,提高我们的工作效率。

    vmware服务开关批处理.bat

    在本案例中,"vmware服务开关批处理.bat"正是利用了这一特性,将VMware相关的服务操作集成到一个批处理文件中,实现了快速切换VMware服务状态的功能。 VMware服务主要包括以下几个关键部分: 1. VMware ...

    垃圾清理-碎片整理-自动关机.bat

    自动完成电脑系统垃圾清理后自动整理磁盘碎片,结束后自动关机哦!

    设置每天定时关机.bat

    2说明:其实在Windows任务计划程序里可以自行添加“每天几点自动关机”的任务,但操作起来多少有点费事。最主要的,假如之前设置了晚上23:30定时关机,但恰好有天加班到深夜,电脑忽然弹出“即将注销你的登录”,而...

    自动关机批处理修改版

    描述中提到的"上一个命名有问题导致不能实现"可能是指在创建初始批处理文件时,存在命令语法错误或者文件命名不符合规则,导致自动关机功能无法正常工作。这次的“修改版”意味着问题已经被解决,文件现在可以成功...

    自动关机自动关机自动关机.txt

    除了直接使用`shutdown`命令外,还可以通过创建批处理文件的方式实现定时自动关机。具体步骤如下: 1. **打开命令提示符**:“开始”菜单中搜索“cmd”并打开,进入MS-DOS环境。 2. **编辑批处理文件**:在当前用户...

    自动关机.zip

    对于Windows用户来说,"自动关机.zip"提供了一个非常实用的功能,即通过批处理文件实现定时自动关机。这种方式对于那些需要在晚上或长时间离机时运行任务但又不希望电脑无止境地保持开启状态的用户来说尤其有用。...

    BAT批处理脚本-系统设置查询修改硬件相关-win2000关机命令.bat.zip

    "BAT批处理脚本-系统设置查询修改硬件相关-win2000关机命令.bat.zip"这个压缩包包含了与系统管理、硬件交互以及自动执行任务相关的批处理脚本,尤其是针对Windows 2000系统的关机命令。下面,我们将详细探讨这些知识...

    win8 快捷关机 定时批处理

    例如,如果在命令行中运行`关机.bat 3600`,那么系统将在1小时后(3600秒)自动关机。 而"取消关机.bat"文件用于取消已经设置的定时关机,其内容通常为: ```batch @echo off shutdown /a ``` 这里的`/a`参数代表...

Global site tag (gtag.js) - Google Analytics