ARTICLE · 1092316
8、几十份 PDF 要合并、拆分、加水印,AI 写了三段脚本一次搞定
「AI 帮我写」第 8 期
摘要:不用一遍遍刷文件夹了。20 行代码盯着共享目录,有新文件立刻提示,顺带留下记录。
有一种等待叫等别人给你发文件。
你和同事说好,设计稿今天放共享文件夹里。于是你每隔半小时点开一次文件夹,刷新,没有。再点开,还是没有。
这期写个看门狗。它替你每 30 秒看一次,文件一进来,你的电脑响一声。

图 1:盯着共享文件夹的眼睛
脚本:盯着文件夹
from pathlib import Path
import time
import winsound# Windows 自带模块,用来发提示音
# 要盯的文件夹,网络共享路径也支持
folder = Path(r"\\192.168.1.10\共享\设计稿")
# 先记住当前已有哪些文件,作为对比的基准
known = {f.name for f in folder.iterdir()}
print("开始盯着了,一共", len(known), "个文件")
while True:
#重新扫一遍现在的文件名单
now= {f.name for f in folder.iterdir()}
#集合相减,差集就是这轮新出现的文件
new= now - known
forname in new:
print(time.strftime("%H:%M:%S"),"新文件:", name)
winsound.MessageBeep()#响一声,不用看屏幕也能听见
#把当前名单存下来,作为下一轮的对比基准
known= now
#休息 30 秒再看,别把 CPU 和高频访问压力拉满
time.sleep(30)
把脚本存成 看门狗.py,双击运行,窗口留着别关。
想让它开机就自动跑,把运行命令写成一个 bat,再用计划任务设成登录时启动,或者丢进启动文件夹。

图 2:每 30 秒循环检查一次
扩展方向,用追问实现
1. “新文件出现时把文件名和到达时间追加写进一个日志文件”
2. “通过企业微信机器人或邮件给我发一条消息,不要只弹窗”
3. “文件没在规定时间内到达就提醒我,比如超过下午 6 点就报警”
第 3 条特别适合催进度。你把截止时间写进脚本,它比你有耐心,也不会因为不好意思就不提醒。

图 3:新文件到达时同步提醒
3 个高频坑
1. 网络共享断开就报错:给 iterdir 那段套一层 try 异常处理,断线时等下一轮再试,别让脚本直接退出
2. 中文文件名显示成乱码:脚本文件存成 UTF-8 编码,命令行里执行 chcp 65001 切到 UTF-8 代码页
3. 大文件传到一半就被识别:文件正在复制时也会出现文件名,让 AI 加一个判断,文件大小连续两次不变才认为传完了
安全红线
1. 脚本只在文件夹里读文件名,不打开也不上传文件内容,这点你可以自己看代码确认
2. 有些公司对共享目录的监控有规定,动手前先和 IT 或者主管确认一句,别把自己弄成违规的那一方
3. 只盯工作相关的目录,同事的私人文件夹不要碰
图 4:日志滚动,一切正常