Skip to content
Back to skills

Office Automation Scripts

ASecurity

自动化办公——用单次耗时×每周频率算清重复活值不值得自动化,按表格公式、宏、Python 脚本逐级选工具,附文件整理、批量重命名、表格合并、定时提醒模板。当用户说「这个活能不能自动化」「批量重命名文件」「几十个表格怎么合并」时使用。

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 13, 2026
ai-agentspythongit

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned October 13, 2026

npx -y skills add po-et/workbuddy-skills --skill office-automation-scripts --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Office Automation Scripts?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Office Automation Scripts
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/po-et-office-automation-scripts/badge)](https://www.skillsdirectory.com/skills/po-et-office-automation-scripts)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: office-automation-scripts
description: "自动化办公——用单次耗时×每周频率算清重复活值不值得自动化,按表格公式、宏、Python 脚本逐级选工具,附文件整理、批量重命名、表格合并、定时提醒模板。当用户说「这个活能不能自动化」「批量重命名文件」「几十个表格怎么合并」时使用。"
author: Captain
version: 0.1.1
display_name: "自动化办公"
display_name_en: "Office Automation"
description_zh: "单次耗时×每周频率算成本、对比搭建维护时间算回本周数;按公式、宏、Python 脚本由低到高选工具;附文件整理、批量重命名、表格合并、到期提醒模板。不碰内部系统与账号密码。"
description_en: "Decide whether a repetitive office task is worth automating and adapt four preview-first script templates."
tags:
  - "自动化办公"
  - "办公自动化"
  - "批量重命名"
  - "表格合并"
  - "文件整理"
  - "定时提醒"
  - "Excel"
  - "Python"
  - "office automation"
examples_zh:
  - "每周要把 20 个门店的表合成一张,这个活能不能自动化"
  - "帮我批量重命名文件,几百张活动照片要改成日期加序号"
  - "几十个表格怎么合并,还想标出每行来自哪个文件"
examples_en:
  - "Every week I merge sheets from 20 stores into one. Is this worth automating?"
  - "Batch-rename hundreds of event photos to date plus a sequence number"
  - "How do I merge dozens of spreadsheets and mark which file each row came from?"
---

# 自动化办公

**先算账再动手**:多数重复活一个公式就能解决,值得写脚本的是量大、规则稳、出错代价高的几件。
适用:每周都在复制粘贴、合并表格、改文件名、整理文件夹、盯到期日。

## 何时使用

用户这样说时启用(前五条是主要场景,最后一条是边缘场景):

- 「这个活能不能自动化」「每周花一小时复制粘贴,值不值得写脚本」
- 「几十个表格怎么合并,还想标出每行来自哪个文件」
- 「帮我批量重命名文件,几百张照片要改成日期加序号」
- 「下载文件夹太乱了,按类型分一分」
- 「合同、证件的到期日,能不能批量变成日历提醒」
- 「你给的脚本跑报错了」「合并后中文乱码」——按下文「信息不全或出错时」处理

调用方式:在对话里描述这件活(单次多久、多久一次、文件长什么样,最好附一个样例或表头);需要脚本时,用户在自己电脑的终端运行 `python3 scripts/<脚本名>.py`,不加 `--apply` 只预览。

不适用(遇到时这样处理):

- 登录、抓取、批量提交公司内部系统,自动发邮件 → 不做,请找公司 IT;系统导出后的本地文件可以接着处理。
- 要保留公式、格式、多工作表的 .xlsx 批处理 → 先用第 1 层 Power Query;非要用 Python 读写 xlsx,转「Excel 处理」类技能(如 excel-processing)。
- 这四类以外的一次性脚本 → 转「Python 脚本」类技能(如 python-script-writer);只问某个公式怎么写,直接简答。

## 先判断:值不值得做

```
每周耗时 = 单次耗时 × 每周频率
回本周数 = (搭建耗时 + 一年维护耗时)÷ 每周省下的时间
例:每周合并 20 个门店表,单次 40 分钟;写脚本 3 小时、维护 1 小时、跑完核对 5 分钟
  回本 = 240 ÷(40 − 5)≈ 7 周 → 做
经验线:回本不到一个季度、规则半年不变 → 做;每周不到 15 分钟或格式每月都变 → 先写操作清单
加分:手工易错且错了代价高(发错数、漏人),回本慢也值得
先问:这一步能不能删掉,或让上游直接给对格式
```

## 选工具:能用低一层就不上高一层

- 第 1 层 表格公式:数据在一两个文件里。匹配用 XLOOKUP/VLOOKUP,汇总用数据透视表,同结构多表合并用 Power Query(版本间有差异)。
- 第 2 层 快捷指令/宏:单个软件里的固定操作。macOS「快捷指令」、Windows 的 Power Automate Desktop、表格软件的「录制宏」。
- 第 3 层 Python 脚本:跨文件夹、上百个文件、要预览和留底,用下面的标准库脚本。
- 选层三问:数据在不在一个文件里?步骤会不会常变?你走后谁维护?最后一问答不上就选低一层。

## 四个脚本:先预览,再执行

四个模板已做成 `scripts/` 里的单文件脚本,只用 Python 标准库(3.8+),路径和选项都用参数传,不用改代码。会动文件的两个默认只预览,加 `--apply` 才执行;原件一律不删、不覆盖;结果文件先写临时文件再替换,中途出错不会留下半截文件。

| 脚本 | 做什么 | 预览命令 | 怎么撤回 |
|---|---|---|---|
| `scripts/organize_files.py` | 按扩展名分进子文件夹,目标已有同名文件的不动 | `python3 scripts/organize_files.py ~/Downloads` | 执行时写「移动记录-时间.csv」,`--undo 记录.csv --apply` 移回 |
| `scripts/batch_rename.py` | 前缀加序号,先出对照表,改好名的副本放进新文件夹 | `python3 scripts/batch_rename.py 待改名 --prefix 2026-09-活动照片` | 原件不动,删掉「已改名」文件夹 |
| `scripts/merge_csv.py` | 同表头 CSV 合成一张,末列标来源文件,自动识别 UTF-8/GBK | `python3 scripts/merge_csv.py 门店报表 --out 合并结果.csv` | 只新建结果文件,删掉即可 |
| `scripts/ics_reminder.py` | 「事项,到期日」清单变日历提醒,默认到期前三天 9:00 弹出 | `python3 scripts/ics_reminder.py 到期清单.csv` | 在日历里删掉导入的事件 |

常用选项:

- 文件整理:`--apply` 执行;`--log 路径` 指定移动记录位置;只处理这一层的普通文件,隐藏文件跳过。
- 批量重命名:默认按文件名自然排序(IMG_2 在 IMG_10 前);`--sort mtime` 按修改时间;`--digits 4` 四位序号;`--start 101` 从 101 起;`--ext .jpg,.png` 只改这些类型。
- 表格合并:`--pattern "*-9月.csv"` 只合并部分文件;`--recursive` 连子文件夹;`--encoding gbk` 强制编码;表头不同、编码认不出、某行多出列的文件会跳过,并逐个说明原因。
- 到期提醒:`--days-before 7 --at 10:30` 改提醒时间;列名不同用 `--name-col 合同名称 --date-col 截止日期`;2026-10-08、2026/10/8、2026年10月8日 都认;认不出的行、已过期的行、重复行逐行说明后跳过。

xlsx 优先用第 1 层 Power Query;零安装的办法是在表格软件里逐个「另存为 CSV UTF-8」再用 merge_csv.py;非要直接读 xlsx 就装 pandas、openpyxl,`pd.read_excel` 逐个读后 `pd.concat`。

固定周期的提醒直接建日历重复事件。导入后抽一条核对提醒时间,个别日历应用会忽略导入的提醒。脚本定时跑用 crontab 或 Windows「任务计划程序」;macOS 后台访问「下载」可能被拦。

## 信息不全或出错时

| 情况 | 怎么处理 | 对用户说的话(模板) |
|---|---|---|
| 缺关键信息:没说单次多久、多久一次、文件长什么样 | 只问这 3 个;维护耗时(默认一年 1 小时)、核对耗时(默认每次 5 分钟)先按默认值算,在算账表里标 [待确认] | 「先确认三件事:这活单次大概多久?多久做一次?文件是 CSV 还是 xlsx,能发一下表头吗?其余我先按常见值估,标了 [待确认]。」 |
| 说法自相矛盾:前面说每天做、后面说一个月两次;说表头一样,样例却不同 | 指出矛盾处,两种理解各算一遍回本周数,请用户选 | 「你前面说每天、后面说每月两次:按每天算回本约 X 周,按每月两次要 Y 周,是哪一种?」 |
| 格式不对:发来 xlsx、中文乱码、日期写法五花八门 | xlsx 先走 Power Query 或另存为 CSV UTF-8;乱码时脚本已自动试 UTF-8/GBK,仍不行再另存;日期统一写成 2026-10-08 | 「这份是 xlsx,最省事的是另存为『CSV UTF-8』再跑合并脚本;不想转就用 Power Query。」 |
| 超出范围:要登录内部系统、自动发邮件、抓网页 | 这部分不写,转公司 IT;本地文件的整理、合并照做 | 「登录和提交内部系统的部分我不写,要走公司 IT;系统导出的文件放进一个文件夹,后面的合并我来。」 |
| 时间紧,只要最小可用版 | 最小版 = 一行算账结论 + 一条预览命令 + 一句核对方法,其余稍后补 | 「最小版:结论『做』;先跑 `python3 scripts/merge_csv.py 门店报表` 看结果;核对各文件行数之和。其余我稍后补。」 |
| 坚持越界:要把密码写进脚本、直接覆盖原件、绕过审批 | 守住:不写凭据、不绕审批;覆盖改为输出到新文件夹,由用户核对后自己删旧文件 | 「密码不能写进脚本,这条我不做;原件我也不覆盖——结果放在新文件夹,你核对完再自己删。」 |
| 一个公式就能解决 | 不写脚本,直接给公式和操作步骤 | 「这个用 XLOOKUP 一列就能搞定,不值得写脚本,步骤如下。」 |

脚本报错对照(四个脚本口径一致):

| 退出码 / 提示 | 原因 | 修正办法 |
|---|---|---|
| 0 | 成功(预览或执行完成) | 按屏幕上的「核对」提示对一遍 |
| 1「参数错误:…」 | 少了参数、选项写错、前缀含 `/ : * ?` 等字符、CSV 里没有指定的列 | 按提示里的正确写法改,或加 `-h` 看用法 |
| 2「找不到文件夹」「没有权限」「读不出文字」「写不进去」 | 路径写错或含空格没加引号;文件正被 Excel 打开;系统拦截访问;编码不是 UTF-8/GBK | 路径加引号;关掉占用文件的软件;macOS 在「隐私与安全性」给终端授权;另存为 CSV UTF-8 |
| 3「没有可处理的…」 | 文件夹是空的、筛选条件没匹配到、所有行都被跳过 | 检查 `--pattern`、`--ext`,逐条看「跳过」的原因 |
| 130「已中断」 | 按了 Ctrl+C | 不会留下半截结果文件,重跑即可;文件整理已移动的部分可用移动记录撤回 |
| 「跳过 xx:表头不同(少了…;多了…)」 | 这个文件的列名和第一个文件不一样 | 统一列名后重跑,或单独处理这个文件 |
| 终端提示找不到 python3 | 没装 Python;Windows 上命令可能叫 `python` 或 `py` | 按公司 IT 规定安装,或退回第 1、2 层工具 |

## 输出契约

交付物按以下顺序,缺哪块写明原因,不跳过:

1. **算账表**:单次耗时、每周频率、每周耗时、搭建耗时、一年维护、每周省下、回本周数,写出算式;结论三选一:做/先写操作清单/不做。
2. **选层与理由**:第几层,用「选层三问」给一句话理由。
3. **方案**:公式与操作步骤;或脚本名 + 预览命令 + 执行命令(路径用用户给的,含空格加引号)。脚本只用标准库;确实要装包的(如 pandas、openpyxl)写明装什么。
4. **三行说明**:怎么运行、怎么核对(对行数、抽查几行)、怎么撤回。
5. **待确认清单**:所有 [待补]、[待确认] 汇总在最后。

占位符:用户必须提供、我没法估的(文件夹路径、表头、列名)写 [待补:…];按默认值估的(维护耗时、核对耗时)写 [待确认:默认值]。不编文件名、列名和耗时。

交付前自检(逐条答是/否,有「否」就改完再交):

- [ ] 回本周数写出了算式,数字和用户给的一致?
- [ ] 公式能解决的,没有写脚本?
- [ ] 会动文件的命令,第一条是不带 `--apply` 的预览?
- [ ] 写了撤回方法,且原件不删不覆盖?
- [ ] 命令里没有账号、密码、内部系统地址?
- [ ] [待补]/[待确认] 都列进了最后的清单?

## 示例

以下为示例,数字取自上文的算账例子,文件夹名为虚构。

**用户**:每周要把 20 个门店的表合成一张,这个活能不能自动化?

**助手先问**:① 每次合并大概多久?② 门店发来的是 CSV 还是 xlsx,表头都一样吗?③ 以后谁维护,你的电脑能运行 Python 吗?

**用户**:40 分钟左右;都是 CSV,表头一样;我自己维护,能装 Python。

**助手交付**:

```text
一、算账
  每周耗时 = 40 分钟 × 1 次 = 40 分钟
  搭建 3 小时 + 一年维护 1 小时 = 240 分钟 [待确认:维护耗时为估计值]
  每周省下 = 40 − 5(跑完核对)= 35 分钟
  回本 = 240 ÷ 35 ≈ 7 周 → 结论:做
二、选层:第 3 层 Python 脚本。数据分在 20 个文件里、步骤固定、你自己维护且能跑 Python;
    以后若交给不会 Python 的同事维护,改用第 1 层 Power Query 的文件夹合并。
三、方案:python3 scripts/merge_csv.py 门店报表 --out 合并结果.csv
四、运行:把 20 个 CSV 放进「门店报表」文件夹,在它的上一级目录运行上面的命令
    核对:屏幕会列出每个文件的行数和「共 N 行」,两边应相等;再抽 3 行和原表对
    撤回:脚本只新建「合并结果.csv」,不改原文件,删掉结果即可
五、待确认清单:维护耗时一年 1 小时 [待确认];门店报表文件夹的实际位置 [待补]
```

更多完整示例(含脚本的真实输出):[合并门店报表:遇到表头不一致的文件](examples/merge-store-reports.md)、[活动照片改名与到期提醒](examples/rename-and-reminder.md)。

## 常见问题(FAQ)

**Q:脚本跑报错了怎么办?**
A:先看最后一行中文提示和退出码,对照上面的「脚本报错对照」表;还不行,把命令和完整报错原样贴过来,不要只说「跑不了」。

**Q:合并后中文乱码,或提示「读不出文字」?**
A:merge_csv.py 会依次试 UTF-8 和 GBK,并在每个文件后面标出用了哪种;两种都不对时,在表格软件里另存为「CSV UTF-8」。输出文件带 BOM,用 Excel 直接打开不乱码。

**Q:我的是 xlsx,不想装 pandas 怎么办?**
A:两条零安装的路:用第 1 层 Power Query 合并,或逐个另存为 CSV 再跑 merge_csv.py。要保留公式和格式,转「Excel 处理」类技能。

**Q:能不能直接帮我跑、直接改我电脑上的文件?**
A:我给命令,你在自己电脑上运行;默认只预览,确认后再加 `--apply`。我不远程操作你的电脑,也不碰公司系统。

**Q:公司电脑不让装 Python 怎么办?**
A:用第 1、2 层:公式、数据透视表、Power Query、录制宏、快捷指令。能不能装软件,以公司 IT 规定为准。

**Q:改错了能撤回吗?**
A:批量重命名只生成副本,删掉「已改名」文件夹就回到原样;文件整理会写移动记录,用 `--undo 记录.csv --apply` 移回;合并和提醒只新建文件,删掉即可。

**Q:能每周自动跑吗?**
A:可以用 crontab(macOS/Linux)或 Windows「任务计划程序」定时;先手动跑两三次、确认输出稳定再定时。

**Q:和录制宏、Power Automate 有什么区别?**
A:宏和快捷指令适合单个软件里的固定点击步骤;脚本适合跨文件夹、上百个文件、要预览和留底的活。按「选层三问」选,能用低一层就不上高一层。

## 常见错误(反模式)

| 错误做法 | 为什么错 | 正确做法 |
|---|---|---|
| 没算账就写:一年做两次的活,写了一下午脚本 | 搭建时间永远收不回来 | 先算回本周数;不到一个季度、规则半年不变才做 |
| 上来就全自动:没预览、没对照表 | 规则一错就改坏几百个文件,回不去 | 先预览、出对照表或移动记录,核对后再 `--apply` |
| 跑完不核对 | 少合并一个文件、漏一行都没人发现 | 对行数之和,抽查 3 行,逐条看「跳过」原因 |
| 直接覆盖原件 | 一旦出错,原始数据就没了 | 输出到新文件或新文件夹,用户核对后自己删旧的 |
| 路径写死在脚本里 | 换个月份、换台电脑就得改代码,容易改错 | 路径、前缀都用参数传 |
| 把合并结果放进输入文件夹 | 下次重跑会把上次的结果再合并一遍 | 结果写在输入文件夹外;merge_csv.py 也会自动排除本次的输出文件 |
| 公式能解决的也写脚本 | 维护成本高,别人接不了手 | 按「选层三问」,能低一层就不上高一层 |

## 边界与不做什么

- 不接触公司内部系统:不写登录、抓取或批量提交内部系统的脚本,不绕过审批,这类需求找公司 IT。
- 不处理凭据:脚本里不写账号、密码、密钥、验证码,也不教怎么存取;不做自动登录、自动发邮件。
- 公司电脑能否装 Python、跑脚本、设定时任务,以公司 IT 规定为准。
- 含个人信息、工资、客户数据的表格只在本机处理,不上传任何网站。

Files in this skill

  • SKILL.md16.8 KB
  • examples/merge-store-reports.md4 KB
  • examples/rename-and-reminder.md3.5 KB
  • scripts/batch_rename.py6.2 KB
  • scripts/ics_reminder.py8.4 KB
  • scripts/merge_csv.py6.9 KB
  • scripts/organize_files.py7.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.