Windows中的定时关机脚本
在桌面新建一个文本文档,修改页面后缀,将txt改为bat,如果没有显示txt请检查是否隐藏文件名后缀,再根据需要选择将下面的代码复制到文档中,保存并退出,在桌面上双击这个文档,比较方便,适用于windows系统的win10和win11 
A2E36B06926E.png
##再下拉即可关机##
SlideToShutdown
##立即强制关闭计算机##
shutdown /s /f /t 0
##立即强制重启计算机##
shutdown /r /f /t 0
##创建计划任务(60分钟后关机)##
@echo offchcp 65001 >nul
title 60分钟倒计时自动关机
cls:: 显示菜单
echo ╔══════════════════════════════════════╗
echo ║          自动关机程序 v1.0                   ║
echo ╠══════════════════════════════════════╣
echo ║  1. 60分钟后关机                            ║
echo ║  2. 30分钟后关机                            ║
echo ║  3. 90分钟后关机                            ║
echo ║  4. 自定义关机时间                           ║
echo ║  5. 取消关机计划                            ║
echo ║  6. 查看剩余时间                            ║
echo ║  0. 退出程序                              ║
echo ╚══════════════════════════════════════╝
echo.set /p choice="请选择操作 [0-6]: "if "%%%%choice%%%%"=="1" goto :60min
if "%%%%choice%%%%"=="2" goto :30min
if "%%%%choice%%%%"=="3" goto :90min
if "%%%%choice%%%%"=="4" goto :custom
if "%%%%choice%%%%"=="5" goto :cancel
if "%%%%choice%%%%"=="6" goto :status
if "%%%%choice%%%%"=="0" exit /b 0echo 无效的选择!
pause
goto :eof:60min
set shutdown_seconds=3600
set shutdown_minutes=60
goto :confirm:30min
set shutdown_seconds=1800
set shutdown_minutes=30
goto :confirm:90min
set shutdown_seconds=5400
set shutdown_minutes=90
goto :confirm:custom
cls
echo 请输入关机时间(单位:分钟):
echo 注意:1分钟 = 60秒
echo 最大可设置10年(约5,256,000分钟)
echo.
set /p custom_minutes="分钟数: "
set /a shutdown_seconds=%%%%custom_minutes%%%% * 60
set shutdown_minutes=%%%%custom_minutes%%%%
goto :confirm:confirm
cls
echo 您选择了 %%%%shutdown_minutes%%%% 分钟后关机(%%%%shutdown_seconds%%%% 秒)
echo.
echo 警告:关机前请保存所有工作!
echo.
choice /c YN /n /m "确定要设置%%%%shutdown_minutes%%%%分钟后关机吗?(Y/N)"if %%%%errorlevel%%%% equ 2 (
    echo 操作已取消。
    pause
    exit /b 0
)echo 正在设置关机计划...
shutdown /s /f /t %%%%shutdown_seconds%%%%if %%%%errorlevel%%%% equ 0 (
    echo ✓ 关机计划设置成功!
    
    rem 计算关机时间
    call :calc_shutdown_time %%%%shutdown_minutes%%%%
    
    echo.
    echo 当前时间:%%%%time%%%%
    echo 预计关机时间:%%%%shutdown_hour%%%%:%%%%shutdown_minute%%%%
    echo.
    echo 正在启动倒计时显示...
    timeout /t 2 /nobreak >nul
    
    rem 显示倒计时界面
    call :countdown_display %%%%shutdown_seconds%%%%
) else (
    echo ✗ 设置失败!请以管理员身份运行。
    pause
)exit /b 0:calc_shutdown_time
set /a add_minutes=%%%%1
for /f "tokens=1-2 delims=:" %%%%%%%%a in ("%%%%time%%%%") do (
    set /a hour=%%%%%%%%a
    set /a minute=%%%%%%%%b
)rem 处理空格
set "hour=%%%%hour: =%%%%"set /a minute=minute+add_minutes
if !minute! geq 60 (
    set /a hour=hour+minute/60
    set /a minute=minute%%%%%%%%60
)
if !hour! geq 24 set /a hour=hour-24if !hour! lss 10 set hour=0!hour!
if !minute! lss 10 set minute=0!minute!
set shutdown_hour=!hour!
set shutdown_minute=!minute!
goto :eof:countdown_display
set total_seconds=%%%%1
:loop
cls
set /a hours=total_seconds/3600
set /a minutes=(total_seconds%%%%%%%%3600)/60
set /a seconds=total_seconds%%%%%%%%60
echo ╔══════════════════════════════════════╗
echo ║          关机倒计时显示                     ║
echo ╠══════════════════════════════════════╣
echo ║  剩余时间:                               ║
echo ║                                      ║
echo ║  %%%%hours%%%%小时%%%%minutes%%%%分钟%%%%seconds%%%%秒                ║
echo ║                                      ║
echo ║  预计关机时间:                             ║
echo ║  %%%%shutdown_hour%%%%:%%%%shutdown_minute%%%%                  ║
echo ╚══════════════════════════════════════╝
echo.
echo 按 Ctrl+C 取消关机并退出程序if %%%%total_seconds%%%% leq 0 (
    echo 正在关机...
    exit /b 0
)set /a total_seconds=total_seconds-1
timeout /t 1 /nobreak >nul 2>&1
goto :loop:cancel
shutdown /a >nul 2>&1
if %%%%errorlevel%%%% equ 0 (
    echo ✓ 关机计划已取消!
) else (
    echo 没有找到活动的关机计划。
)
pause
exit /b 0:status
shutdown /l
echo.
echo 按任意键返回主菜单...
pause >nul
goto :eof
##### 创建计划任务(30分钟后关机)##### 
@echo off
choice /c YN /m "将在30分钟后关机,是否继续?[Y/N]"
if errorlevel 2 goto :cancel
if errorlevel 1 goto :shutdown:shutdown
echo 正在设置30分钟后关机...
shutdown /s /f /t 1800
echo 关机计划已设置!
echo 如需取消,请按任意键运行取消命令...
pause >nul
shutdown /a
echo 关机计划已取消!
pause
exit:cancel
echo 操作已取消。
pause

本文最后更新时间 2025-12-16
文章链接地址:
https://xzlo.blog/index.php/archives/93/
本站文章除注明[转载|引用|原文]出处外,均为本站原生内容,转载前请注明出处

文章附件
  • 暂无附件
希望可以帮助到你
微信赞赏二维码

希望本文内容对您有帮助

支付宝赞赏二维码

支付宝赞赏

留言