本文目录导读:

- Windows 系统:使用任务计划程序
- Linux/macOS:使用 Cron
- Python 跨平台脚本
- 使用
notify-send命令 (Linux) - macOS 使用 AppleScript
- 使用 Python with 桌面通知库
- 高级功能:带 GUI 界面的提醒
- 使用方法
Windows 系统:使用任务计划程序
批处理脚本 (.bat)
@echo off echo 提醒:请检查每日报告! msg * "提醒:请检查每日报告!" timeout /t 10
PowerShell 脚本
# task-reminder.ps1 $duration = 10 $title = "任务提醒" $message = "请检查每日报告完成情况!" [System.Windows.Forms.MessageBox]::Show($message, $title)
Linux/macOS:使用 Cron
创建脚本
#!/bin/bash # /usr/local/bin/task-reminder.sh echo "提醒:完成数据备份任务" notify-send "任务提醒" "请完成数据备份" # Linux # osascript -e 'display notification "请完成数据备份" with title "任务提醒"' # macOS
设置 Cron 定时任务
# 编辑 crontab crontab -e # 每天上午9点执行 0 9 * * * /usr/local/bin/task-reminder.sh # 每周一、三、五下午2点 0 14 * * 1,3,5 /usr/local/bin/task-reminder.sh
Python 跨平台脚本
# task_reminder.py
import time
import platform
import subprocess
def send_notification(title, message):
system = platform.system()
if system == "Windows":
# Windows 通知
import ctypes
ctypes.windll.user32.MessageBoxW(0, message, title, 1)
elif system == "Darwin": # macOS
subprocess.run(['osascript', '-e',
f'display notification "{message}" with title "{title}"'])
else: # Linux
subprocess.run(['notify-send', title, message])
# 任务提醒逻辑
tasks = {
"9:00": "开始工作",
"12:00": "午餐时间",
"15:00": "下午会议",
"17:00": "整理文档"
}
while True:
current_time = time.strftime("%H:%M")
if current_time in tasks:
send_notification("任务提醒", tasks[current_time])
time.sleep(60) # 避免重复通知
time.sleep(30) # 每30秒检查一次
使用 notify-send 命令 (Linux)
#!/bin/bash # 任务提醒脚本"任务提醒" MESSAGE="请完成以下任务:\n1. 更新周报\n2. 检查邮件" # 使用 notify-send notify-send -u critical "$TITLE" "$MESSAGE" -t 10000 # 或者使用 Zenity zenity --warning --title="$TITLE" --text="$MESSAGE" --timeout=10
macOS 使用 AppleScript
-- task_reminder.scpt display notification "请完成今日工作总结" with title "任务提醒" subtitle "每日任务" delay 5 display alert "重要提醒" message "请检查项目进度!"
使用 Python with 桌面通知库
# 安装 plyer 库
# pip install plyer
from plyer import notification
import schedule
import time
def send_reminder(task_name):
notification.notify(
title="任务提醒",
message=f"请完成:{task_name}",
app_name="Task Reminder",
timeout=10
)
# 设置定时任务
schedule.every().day.at("09:00").do(send_reminder, "晨会准备")
schedule.every().day.at("12:30").do(send_reminder, "午休提醒")
schedule.every().monday.at("10:00").do(send_reminder, "周报提交")
while True:
schedule.run_pending()
time.sleep(1)
高级功能:带 GUI 界面的提醒
# tkinter 版本
import tkinter as tk
from tkinter import messagebox
import schedule
import time
import threading
class ReminderApp:
def __init__(self):
self.root = tk.Tk()
self.root.title("任务提醒工具")
self.root.geometry("300x200")
# 添加任务按钮
self.add_task_btn = tk.Button(self.root, text="添加任务", command=self.add_task)
self.add_task_btn.pack(pady=10)
# 任务列表
self.task_listbox = tk.Listbox(self.root)
self.task_listbox.pack(fill=tk.BOTH, expand=True)
def add_task(self):
# 弹出输入对话框
import tkinter.simpledialog
task_name = tkinter.simpledialog.askstring("添加任务", "任务名称:")
task_time = tkinter.simpledialog.askstring("添加任务", "提醒时间 (HH:MM):")
if task_name and task_time:
self.task_listbox.insert(tk.END, f"{task_time} - {task_name}")
schedule.every().day.at(task_time).do(self.show_reminder, task_name)
def show_reminder(self, task_name):
messagebox.showinfo("任务提醒", f"请完成:{task_name}")
def run(self):
# 启动定时线程
def schedule_thread():
while True:
schedule.run_pending()
time.sleep(1)
threading.Thread(target=schedule_thread, daemon=True).start()
self.root.mainloop()
if __name__ == "__main__":
app = ReminderApp()
app.run()
使用方法
-
选择适合你的方法:
- Windows 用户:推荐使用任务计划程序 + 批处理
- Linux 用户:使用 Cron + notify-send
- macOS 用户:使用 AppleScript 或 Cron
- 跨平台:Python 脚本
-
设置自动启动:
- Windows:将脚本添加到启动文件夹
- Linux:使用 systemd 或 autostart
- macOS:使用 LaunchAgent
-
优化建议:
- 添加日志记录功能
- 支持重复提醒
- 集成日历同步
- 添加声音提醒
选择最适合你需求的方法,根据实际情况调整脚本参数即可。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播