以热爱记生活

Windows中的定时关机脚本

在桌面新建一个文本文档,修改页面后缀,将txt改为bat,如果没有显示txt请检查是否隐藏文件名后缀,再根据需要选择将下面的代码复制到文档中,保存并退出,在桌面上双击这个文档,比较方便,适用于windows系统的win10和win11 

##再下拉即可关机##

SlideToShutdown

##立即强制关闭计算机##

shutdown /s /f /t 0

##立即强制重启计算机##

shutdown /r /f /t 0

##创建计划任务(60分钟后关机)##

@echo off

chcp 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 0

echo 无效的选择!
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-24

if !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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »