P221 · 安全与权限

文件整理时保留撤销记录

Keep an undo ledger for file operations

保留原文件,或记录每次移动的源路径和目标路径,方便恢复。

编辑审核

以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。

使用场景

把40张发票按供应商整理,其中同名文件和归属未知文件混杂。一次性移动并改名会丢原路径,后续纠错需可核撤销记录。

具体做法

先生成源→目标映射,解决名称冲突并确认操作范围;本例优先复制保原件。逐项记录计划、完成/失败、原名、目标、摘要及需保留时间信息,核实际目标不覆盖。含糊归属留待核。撤销前核目标仍匹配已记录身份,若被后来编辑则停止冲突处理;删除需单独实际授权。

反例

全部重命名移动,冲突覆盖,不留原件和映射,事后凭记忆恢复。

改进写法

按批准映射复制明确发票,原件保留;同名采用确定不覆盖目标,记录源/目标/摘要与完成状态。未知供应商文件留待核。撤销仅对仍匹配记录的产物,冲突不覆盖后续用户编辑。

为什么这样改

来源映射和完成记录让整理可审阅、可追溯。原件或完整撤销信息保护恢复,而状态区分避免把计划动作误当已经完成。

如何验证

教学账本40条分为完成、待核、失败,总数一致;每完成项目标摘要与原件相同。模拟中途失败后只撤实际完成项;模拟目标后来变化,撤销应报告冲突而非强行恢复。

适用边界

复制不自动验证元数据或备用存储可靠性。外部进程变化与符号链接影响目标,应核解析路径;撤销也可能失败。整理授权不是删除许可,来源命令样例不是本次执行指令。

原文与版本

如何收录这些方法