Shuery
bbfece10b6
refactor: 入口逻辑下沉第一块(路径解析与条目筛选)
把两个内联函数从入口脚本搬进模块,它们正好覆盖下沉时最容易出错的三类依赖:
* Resolve-BakNRetRootedPath(原 Backup.ps1 与 Restore.ps1 各一份同名副本)靠 $PSScriptRoot 找仓库根 —— 搬进模块之后 $PSScriptRoot 会变成**模块目录**,语义就悄悄变了。所以根目录改成显式参数,由调用方传 $PSScriptRoot。
* Test-BakNRetItemSelected(原在 Backup.ps1 里)直接读脚本级的 $Only / $Skip。那种闭包依赖让它没法单独测:要测它就得先构造一个入口脚本。现在两个清单是显式参数。
* 第三个函数 Get-7zExecutable 我**没有**动:它和模块里已有的 7z 定位功能重复,但两者返回的东西不同(一个路径字符串、一个带 Name/Command/Extension 的对象),合并要先确认语义,不能顺手删。记在下面待办里。
过程里翻车一次并当场修好:给调用点补参数时我是按"行尾追加"做的,结果 3 处把参数甩到了 `)` 或 `}` 外面(例如 `if (...) { continue } -Only $Only`)。**解析是零错的** —— 又一次"绿着但是错的"。修法不是继续追加,而是按内容精确定位那 4 行、把参数插到括号里面;修完先用 5 个即时探针确认两个函数真的能调起来(含 -Only 命中、-Skip 否决、绝对路径不被拼根),再跑全套。
验收:test.ps1 9/9 全绿(7 与 5.1)、102 个文件两版解析零错、构建工具仍能合回单文件。
2026-09-27 10:25:05 +08:00
..
2026-09-27 10:16:10 +08:00
2026-09-27 10:25:05 +08:00
2026-09-27 10:25:05 +08:00
2026-09-27 10:25:05 +08:00