本文目录导读:

Windows 批处理脚本(.bat)
这是最常用的方式,利用系统自带的 shutdown 命令。
@echo off延时关机小工具
color 0A
:: 设置默认延时时间(秒),这里设置 3600 秒 = 1 小时
set /a delay_seconds=3600
:: 询问用户是否修改时间
echo 当前设置为 %delay_seconds% 秒(%delay_seconds%/60 分钟)后关机。
set /p choice=是否修改时间?(Y/N,直接回车默认N):
if /i "%choice%"=="Y" (
set /p delay_seconds=请输入延时秒数(300 表示5分钟):
)
:: 执行延时关机
echo 系统将在 %delay_seconds% 秒后自动关机。
shutdown /s /t %delay_seconds%
:: 提示取消方法
echo 如需取消,请按 Win+R 输入 shutdown /a 回车,或在命令提示符中执行。
pause
如何使用:
- 将以上代码复制到记事本。
- 保存为
延时关机.bat(注意后缀是.bat)。 - 双击运行,按提示操作即可。
Linux / macOS 脚本(.sh)
Linux 和 macOS 下使用 shutdown 命令。
#!/bin/bash
# 延时关机脚本 (需 root 权限运行,使用 sudo)
# 用法: ./delay_shutdown.sh [分钟] 或 [秒]
# 默认延时 30 分钟(1800 秒)
DEFAULT_MIN=30
echo "========================================="
echo " Linux/macOS 延时关机脚本"
echo "========================================="
# 询问用户输入分钟数
read -p "请输入延时分钟数(默认 ${DEFAULT_MIN} 分钟): " input_min
# 如果用户直接回车,使用默认值
if [ -z "$input_min" ]; then
input_min=$DEFAULT_MIN
fi
# 转换为秒
delay_seconds=$((input_min * 60))
echo "系统将在 ${input_min} 分钟后(${delay_seconds} 秒)关机。"
echo "如需取消,请在终端中输入: sudo shutdown -c"
# 执行延时关机
sudo shutdown -h +$input_min
# 如果不希望倒计时,可以用 sleep 实现精确到秒(较少用)
# sleep $delay_seconds && sudo shutdown now
如何运行:
# 赋予执行权限 chmod +x delay_shutdown.sh # 运行(需要管理员权限) sudo ./delay_shutdown.sh
Python 脚本(跨平台免费版)
如果您安装了 Python(在 Windows、Linux、macOS 均可),可以创建一个更“智能”的跨平台脚本。
import os
import sys
import time
import platform
def delay_shutdown():
# 获取操作系统
system = platform.system()
print("=" * 40)
print(" 跨平台延时关机工具")
print("=" * 40)
# 输入延时时间
try:
minutes = float(input("请输入延时分钟数(30): "))
if minutes <= 0:
print("请输入正数!")
return
except ValueError:
print("输入无效,请输入数字!")
return
delay_seconds = int(minutes * 60)
print(f"\n系统将在 {minutes:.2f} 分钟后({delay_seconds} 秒)自动关机。")
print("如需取消:")
if system == "Windows":
print(" 请运行: shutdown /a")
else:
print(" 请运行: sudo shutdown -c")
# 执行关机(Windows 用 /s,Linux/mac 用 -h)
try:
if system == "Windows":
os.system(f"shutdown /s /t {delay_seconds}")
elif system == "Linux" or system == "Darwin": # Darwin 是 macOS
# 需要 root 权限,使用 sudo
os.system(f"sudo shutdown -h +{int(minutes)}")
else:
print("不支持的操作系统")
except Exception as e:
print(f"执行出错: {e}")
if __name__ == "__main__":
delay_shutdown()
运行方法:
python3 delay_shutdown.py
快捷小技巧:命令行直输(无需脚本)
如果您只是临时用一次,直接在系统命令行输入即可:
-
Windows(CMD):
shutdown /s /t 3600(3600秒=1小时后关机)shutdown /a取消 -
Linux/macOS(终端):
sudo shutdown -h +60(60分钟后关机)sudo shutdown -c取消
注意事项
- Windows:
/t参数最大支持 315360000 秒(约 10 年),一般够用。 - Linux/macOS:
shutdown -h +X中的X代表分钟。 - 如果您的电脑有未保存的工作,请提前保存,关机时系统会强制关闭未保存程序。
- 如果是服务器使用,建议设置
cron定时任务来实现每日或每周的定时关机(不是延时多久,而是具体时间点)。
如果您需要特定的功能(比如按具体时间点关机、周期性重启等),请告诉我,我可以为您调整脚本。