Mac可设置每天18:30自动关机,需用快捷指令+自动化组合:创建“特定时间”个人自动化,添加“运行AppleScript”执行关机命令,并关闭“运行前询问”。

你想让Mac在每天固定下班时间(比如18:30)自动执行关机,不再手动点菜单、确认弹窗、等进度条——系统原生“节能器定时”只支持睡眠或重启,不支持真正关机,必须用快捷指令+自动化组合实现。
创建时间触发的关机自动化
第一步:打开“快捷指令”App → 切换到“自动化”标签页 → 点击右上角“+” → 选择“创建个人自动化”。
第二步:在触发器中选择“特定时间” → 点击“下一步” → 设置你每日离职的具体时间(如18:30)→ 开启“重复”并勾选“每天”或“仅工作日” → 点击“下一步”。
第三步:点击“添加操作” → 搜索“运行 AppleScript” → 选择该操作 → 在脚本框中粘贴:osascript -e 'tell app "System Events" to shut down' → 点击右上角“完成”。
第四步:关闭“运行前询问”开关 → 点击“完成”保存。这一步必须关闭,否则每次到点都会弹出全屏确认框,自动化就失效了。
增强版:先退出前台应用再关机
方法一:新建一个独立快捷指令(非自动化),用于清理环境
打开“快捷指令”App → 点击右上角“+” → 命名“下班清理关机” → 点击“添加操作” → 搜索并添加“运行 AppleScript” → 粘贴以下脚本:
tell application "System Events" to set frontApp to name of first application process whose frontmost is true
tell application "System Events" to set appList to name of every application process
tell application "System Events"
repeat with i from 1 to count of appList
set appName to item i of appList
if (appName is not "Finder") and (appName is not "Dock") and (appName is not "WindowServer") then
tell application appName to quit
end if
end repeat
end tell
再添加一次“运行 AppleScript”操作 → 粘贴关机指令:osascript -e 'tell app "System Events" to shut down'。
方法二:把上面这个快捷指令绑定到之前创建的“特定时间”自动化中
回到“自动化”标签页 → 编辑你已建好的“特定时间”自动化 → 点击“添加操作” → 搜索“运行快捷指令” → 选择刚建的“下班清理关机” → 关闭“运行前询问” → 完成。
【注意:若当前有未保存文档,系统仍会弹窗阻断关机;此流程无法绕过macOS的安全机制】
验证是否生效
手动将系统时间调快至设定的离职时间前1分钟 → 等待时间到达 → 观察是否直接进入关机确认界面(macOS默认行为)或静默关机(若已关闭“运行前询问”且无未保存文档)。
若无反应,检查“自动化”列表中该条目右侧是否显示“已关闭”字样——点击开启即可。
若弹出权限提示,前往“系统设置 → 隐私与安全性 → 完全磁盘访问”,勾选“快捷指令”并重启App。











