refactor: Restore.ps1 的条目筛选改用模块函数(去掉第二份副本)
Test-EntrySelected 与上一个提交搬进模块的 Test-BakNRetItemSelected 是同一段逻辑:我在删之前先逐行比对过(把 $Only/$Skip 归一化后两边 7 行逻辑完全相等),确认是重复才删。 这是"入口下沉"里少见的零风险一块:不新增代码,只是让两份实现变成一份。Restore.ps1 从 884 行降到 870 行。 验收:test.ps1 9/9 全绿(7 与 5.1)、无解析错误、真实清单只读冒烟 4/4。
This commit is contained in:
1 parent
bbfece10b6
commit
fcf83ecb74
1 file changed
+1
-15
+1
-15
@@ -500,20 +500,6 @@ if (-not (Test-Path -LiteralPath $BackupListPath)) {
|
|||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function Test-EntrySelected {
|
|
||||||
param([string]$DisplayPath, [string]$BaseName)
|
|
||||||
if ($Only.Count -gt 0) {
|
|
||||||
$matched = $false
|
|
||||||
foreach ($pattern in $Only) {
|
|
||||||
if ($DisplayPath -like $pattern -or $BaseName -like $pattern) { $matched = $true; break }
|
|
||||||
}
|
|
||||||
if (-not $matched) { return $false }
|
|
||||||
}
|
|
||||||
foreach ($pattern in $Skip) {
|
|
||||||
if ($DisplayPath -like $pattern -or $BaseName -like $pattern) { return $false }
|
|
||||||
}
|
|
||||||
return $true
|
|
||||||
}
|
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# 主流程
|
# 主流程
|
||||||
@@ -542,7 +528,7 @@ foreach ($line in $lines) {
|
|||||||
$baseName = $resolved.BaseName
|
$baseName = $resolved.BaseName
|
||||||
|
|
||||||
if (-not $baseName) { $stats.skipped++; continue }
|
if (-not $baseName) { $stats.skipped++; continue }
|
||||||
if (-not (Test-EntrySelected -DisplayPath $displayPath -BaseName $baseName)) { continue }
|
if (-not (Test-BakNRetItemSelected -DisplayPath $displayPath -BaseName $baseName -Only $Only -Skip $Skip)) { continue }
|
||||||
|
|
||||||
if ($resolved.Direction -eq 'backup') {
|
if ($resolved.Direction -eq 'backup') {
|
||||||
# 仅备份的条目照样要登记归档名:审计要能看出"这个归档是有主的",
|
# 仅备份的条目照样要登记归档名:审计要能看出"这个归档是有主的",
|
||||||
|
|||||||
Reference in new issue
Block a user