Google日历批量删除指南:快速清理无效日程
Google日历中充斥着误导入的农历节气、测试事件以及API同步残留条目。手动逐条删除不仅耗时,而且极易遗漏。此时最佳方案并非逐个点击,而是借助自动化工具批量清理整个无效日程区域。
借助Apps Script精准删除含特定关键词的日程事件
该方案特别适用于清除标题中包含“小寒”“初一”“Catch up”等固定文本的日程,例如批量导入的节气安排或开发调试阶段遗留的测试事件。
操作步骤非常直接:打开Google Apps Script并新建空白项目,将下方代码完整粘贴(请务必替换自己的邮箱地址和时间范围)。
function deleteEventsByKeyword() {
var fromDate = new Date(2024, 0, 1); // 起始时间:2024年1月1日
var toDate = new Date(2027, 0, 1); // 结束时间:2027年1月1日
var keywords = ["小寒", "初一", "闰月", "节气"]; // 改成你要匹配的词
var calendar = CalendarApp.getDefaultCalendar();
var events = calendar.getEvents(fromDate, toDate);
var count = 0;
for (var i = 0; i < events.length; i++) {
var title = events[i].getTitle();
if (keywords.some(kw => title.includes(kw))) {
Logger.log("预删:" + title);
// events[i].deleteEvent(); // ⚠️先别取消注释!
count++;
}
}
Logger.log("共匹配 " + count + " 条,确认无误后再取消注释运行");
}
然后,点击编辑器右上角的 ▶ 运行按钮。首次运行时系统会要求授权Google日历权限,授权完成后脚本即执行。执行完成后,在左侧面板中打开「执行」标签,查看最近一次的输出日志。若日志中列出的全部是你希望删除的事件,即可继续;若发现误判了正常日程,立即中止操作,并重新审查keywords数组是否匹配范围过广。
确认日志无误后,返回代码编辑器,将 【// events[i].deleteEvent();】 一行开头的双斜杠移除,保存后再次运行——此时才会实际执行删除操作。
精准清除农历/节气类全天事件(避免误删普通会议)
大量农历日程属于“全天事件”,不占用具体时段,与普通会议混在一起难以单独筛选。以下脚本专门针对此类场景,仅处理全天事件,确保不会误删含具体时间的正式日程。
新建一个脚本文件,粘贴以下代码:
const CAL_ID = 'your_email@gmail.com'; // 【必须改成你自己的谷歌邮箱】
const START = new Date('2024-01-01');
const END = new Date('2027-01-01');
const DRY_RUN = true; // 先设为 true 预演,确认后再改为 false
const KEYWORDS = ['农历', '立春', '廿一', '腊月', '冬至'];
function myFunction() { deleteLunarAllDayEvents(); }
function deleteLunarAllDayEvents() {
const cal = CalendarApp.getCalendarById(CAL_ID);
let hit = 0, del = 0;
const events = cal.getEvents(START, END);
for (let e of events) {
if (!e.isAllDayEvent()) continue;
const title = e.getTitle();
if (KEYWORDS.some(kw => title.includes(kw))) {
hit++;
if (!DRY_RUN) e.deleteEvent();
else Logger.log("预删全天事件:" + title);
}
}
Logger.log(`命中 ${hit} 条全天事件`);
}
填写你的邮箱后,先将 DRY_RUN 设为 true 并直接运行。日志中仅显示全天事件,可快速判断是否有误判。确认准确后,将 DRY_RUN 改为 false,再次运行,所有匹配的全天农历、节气事件即可在数秒内清除。
安卓/iOS手机端一键清空本地日程
若只需删除手机自带日历中的“本地创建”日程(不影响Google账号同步数据),操作极为简便:
安卓用户:打开日历App,点击右上角「•••」→「日程」→ 长按任意一条日程 → 选择「全选」→ 点击「删除」→ 确认。
iOS用户:进入「日历」App,切换到「日程」列表,长按任一日程,在弹出的菜单中点击「全选」→ 点击「删除」→ 确认。
特别提醒:【此操作仅删除本机存储的日程,不会影响Google账号云端同步的日历】。若日程来自Gmail账号,请务必使用前两种脚本方式进行删除。
彻底移除整个日历账户(连根清除)
部分第三方服务(如天气插件、节日日历)会自行创建独立日历,并持续向其中推送事件。你或许找不到源头,但可在日历列表中看到该日历单独存在。
打开Google日历网页版,在左侧「我的日历」区域找到该日历名称,右键 → 「设置和共享」→ 滚动至页面底部 → 「卸载此日历」→ 确认。
此操作会立即移除该日历下的所有事件,且不可恢复。若该日历是由他人共享给你的,卸载后对方日历不受影响。但若是你自行创建的,卸载前务必确认其中无重要保留事件——【此操作不可逆】。
