chore: 记录改造前基线
改造开始前的完整状态,作为可回退的基点。此提交之后:Pester 175 项、零依赖套件 101 项全绿;PowerShell 5.1 尚不可用(源文件无 BOM)。 包含此前未提交的在制品:安全描述符套件、Hyper-V 实验环境(tools/lab)、agent 约定(AGENTS.md 与 docs/agents)。 .gitignore 增加 *.key / *.pfx:BackupConfig.psd1 的 PasswordFile 此前默认指向仓库内的 baknret.key,一次 git add -A 就会把口令提交进版本库。默认值在后续提交中改为空。
This commit is contained in:
1 parent
7173e8ae10
commit
2937eb6652
32 files changed
+8775
-1691
No files matched your search
+110
-87
@@ -1,96 +1,119 @@
|
||||
# BackupList.txt —— 备份 / 恢复共用清单
|
||||
###########
|
||||
# BackupList.txt —— 备份清单
|
||||
###########
|
||||
#
|
||||
# 每一行支持**两种写法**,混用没问题:
|
||||
# 语法:
|
||||
# [+|-] <目标> [修饰符...] [# 说明]
|
||||
#
|
||||
# 1. 软件名(推荐)—— 去 SoftwareCatalog.psd1 查目录,归档名就是软件名
|
||||
# FooClolor
|
||||
# scoop
|
||||
# Kazumi :- !*Cache
|
||||
#
|
||||
# 2. 用户手写的目录 —— 含 `\`、`/` 或 `%` 就按路径处理,归档名沿用 <名>_from_<路径>
|
||||
# %UserProfile%\Documents\PowerShell
|
||||
# C:\Programs\MiFlash :- MiFlash\logs\
|
||||
#
|
||||
# 3. 软件名 + @pathname —— 强制用旧的路径命名算法(归档名从路径算)
|
||||
# FooClolor @pathname
|
||||
#
|
||||
# 两种写法都支持**追加**与**排除**:
|
||||
#
|
||||
# :+ 追加一个目录;写成软件名时会按名录展开成它的全部目录
|
||||
# %UserProfile%\Documents\PowerShell :+ D:\backup\ps-extra
|
||||
# MiFlash :+ MiFlash_Unlock
|
||||
# :+ 可以出现多次、位置随意;追加进来的目录与主目录一起打进同一个归档。
|
||||
#
|
||||
# :- 排除模式(`::` 是它的历史别名,两者等价)
|
||||
# Edge :- !*Cache,Default\Extensions
|
||||
# `,` 与 `;` 都当分隔符。
|
||||
#
|
||||
# 行尾可以写 `# 说明` 讲清这条为什么这么配;运行时会把它和目录介绍一起打印出来:
|
||||
# Edge :- !*Cache # 缓存可再生,不进归档
|
||||
#
|
||||
# 排除模式:相对归档根目录。以 ! 开头表示"任意层级下匹配这个组件名"(7z 的 -xr!)。
|
||||
# 不要自己写引号;模式里的空格会被自动转成 ?(7z 的模式不支持空格)。
|
||||
# 标记:
|
||||
# encrypt 用 7z 加密该归档(口令来自 BAKNRET_PASSWORD 或 -KeyFile)
|
||||
# pathname 用路径命名算法而不是软件名
|
||||
# root=<名> 尚未实现(归档内根目录始终是源目录名),用了会告警
|
||||
# + 仅备份,不恢复。
|
||||
# - 仅恢复,不备份。
|
||||
#
|
||||
# 归档名 = 软件名,所以:**同一个软件不要写两遍**,脚本会直接报重复错误。
|
||||
# 软件名(连同排除规则、加密标记)都维护在 SoftwareCatalog.psd1 和本文件里,
|
||||
# 两边都进 git,改动可追溯。
|
||||
|
||||
# ---- 用户配置 / 开发环境 ----
|
||||
legendary
|
||||
opencode
|
||||
# scoop 是一个软件名 + 对象数组(见 SoftwareCatalog.psd1):一个 scoop.7z 里
|
||||
# 同时装 %UserProfile%\scoop\persist 与 %UserProfile%\.config\scoop。
|
||||
scoop # scoop 各应用的持久化数据 + scoop 自身配置
|
||||
# .ssh 里是私钥。想加密就把下面那行 @encrypt 的注释互换(见 README「加密」)
|
||||
.ssh
|
||||
CodeSpace :- Shuery-Shuai\ImmortalWrt-BPI-R4-Firmware\immortalwrt\ # 排除同一仓库里的源码树
|
||||
PowerShell
|
||||
WindowsPowerShell
|
||||
|
||||
# ---- 应用数据 ----
|
||||
AutoDarkMode
|
||||
Kazumi
|
||||
piliplus
|
||||
fnm
|
||||
twinkle-tray
|
||||
|
||||
# ---- 浏览器:排除可再生的缓存、遥测与扩展本体 ----
|
||||
# 解压后 4.22 GB / 25030 个文件里,下面这组排除会留下约 431 MB / 2164 个文件,
|
||||
# 排除掉的 3.79 GB 全部可以重新生成:缓存、组件缓存、Service Worker、
|
||||
# 扩展本体(可从商店重装)、遥测与优化数据。
|
||||
# 书签/密码/偏好/历史,以及站点数据(IndexedDB / Local Storage)都保留。
|
||||
# 想再省 230 MB,可以把 Default\IndexedDB、Default\Local Storage、
|
||||
# Default\Session Storage、Default\blob_storage、Default\WebStorage 也加进来。
|
||||
# !*Cache 一次覆盖 Cache / Code Cache / GPUCache / DawnCache / GrShaderCache 等一批。
|
||||
# 目标(二选一):
|
||||
# <SoftwareName> 软件名。查 SoftwareCatalog.psd1,归档名 = 软件名。
|
||||
# <Absolute\Path> 绝对路径。含 `\`、`/` 或 `%` 时按路径处理。
|
||||
#
|
||||
# 注意:不带 ! 的普通模式是**相对归档根目录锚定**的(会展开成 `-x!User?Data\<模式>`),
|
||||
# 所以它只排除根目录下那一份。Edge 的 OneAuth\WebView2\EBWebView\ 里还有一整套
|
||||
# 自己的 Crashpad / BrowserMetrics / ProvenanceData / optimization_guide,
|
||||
# 根锚定模式碰不到它们 —— 这些可再生的东西一律用 ! 形式按组件名排除(-xr!),任意层级都命中。
|
||||
# 实测:根锚定的 Edge 归档 1781 MB / 27961 项 -> 改成 ! 形式后 72 MB / 2303 项,
|
||||
# 书签、密码(Login Data)、Cookies、偏好、历史、IndexedDB / Local Storage 全部保留。
|
||||
# 修饰符(可多个,前后必须有空格):
|
||||
# :: <Absolute\Path> 覆盖 Path。同 `@ Path='<Absolute\Path>'`。
|
||||
# 同一行中,:- / :+ 的模式相对覆盖后的 Path。
|
||||
# :- <模式>[,...] 排除。同 `@ Exclude='<模式>'`。
|
||||
# :+ <模式>[,...] 追加。同 `@ Include='<模式>'`。
|
||||
# 模式为两段式:<归档内相对路径>:<宿主机绝对路径>。
|
||||
# :encrypt 加密。同 `@ Encrypt='$true'`。
|
||||
# :!encrypt 不加密。同 `@ Encrypt='$false'`。
|
||||
# @ <Key>='<Value>' 覆盖 SoftwareCatalog 中的默认字段。
|
||||
#
|
||||
# 注意:Edge 常驻时打包会有上百个文件读不到(含 Login Data / Cookies),
|
||||
# 脚本检测到警告后不会用这份不完整的归档覆盖已有的完整归档。备份前建议先退出 Edge。
|
||||
Edge :- !*Cache,!component_crx_cache,!ProvenanceData,!optimization_guide,!Crashpad,!BrowserMetrics,Default\Service Worker,Default\Extensions,Default\ExtensionActivityEdge,Snapshots,Edge Sidebar,Edge Shopping # 下面这些全是可再生数据:缓存/组件缓存/SW/扩展本体/遥测与优化
|
||||
WindowsTerminal
|
||||
# 说明:
|
||||
# 行尾 `# 说明` 会在运行时与目录介绍一起打印。
|
||||
# 归档名 = 软件名,同一软件不要写两遍。
|
||||
#
|
||||
# ---------------------------------------------------------------- #
|
||||
# 模式(Pattern)
|
||||
# ---------------------------------------------------------------- #
|
||||
#
|
||||
# 「模式」是传给 7z 的排除 / 包含匹配式,匹配的是**归档内的相对路径**,
|
||||
# 不是宿主机上的绝对路径。
|
||||
#
|
||||
# 例:Edge 的 Path 是 `%LocalAppData%\Microsoft\Edge\User Data`,
|
||||
# 归档根就是 `User Data\` 内部的内容。
|
||||
# 模式 `Default\Extensions` 匹配的是归档内的
|
||||
# `Default\Extensions\...`,
|
||||
# 而不是宿主机上的 `C:\Users\...\Edge\User Data\Default\Extensions\...`。
|
||||
#
|
||||
# 两种形态:
|
||||
#
|
||||
# <模式> 锚定在归档根。展开为 7z 的 `-x!<Path 的目录名>\<模式>`。
|
||||
# 只匹配根下这一份。
|
||||
#
|
||||
# !<模式> 任意层级。展开为 7z 的 `-xr!<模式>`。
|
||||
# 只要路径中任意一段命中,就排除。
|
||||
#
|
||||
# 多数情况应使用 `!` 形式:根锚定常常够不着嵌套层级里的目标。
|
||||
# 例:Edge 的 `OneAuth\WebView2\EBWebView\` 里还有一整套
|
||||
# Crashpad / BrowserMetrics / ProvenanceData / optimization_guide,
|
||||
# 根锚定模式碰不到,必须用 `!` 形式按组件名排除。
|
||||
#
|
||||
# 通配符(7z 语法,非正则):
|
||||
#
|
||||
# * 任意多个字符(不含 `\`)。
|
||||
# ? 任意单个字符。
|
||||
#
|
||||
# 不支持:正则、[] 字符类、{} 花括号扩展。
|
||||
#
|
||||
# `!*Cache` 一次覆盖:Cache / Code Cache / GPUCache / DawnCache /
|
||||
# GrShaderCache 等一批以 Cache 结尾的组件名。
|
||||
#
|
||||
# 引号与空格:
|
||||
#
|
||||
# 模式里**不要自己写引号**,引号会被当成模式的一部分。
|
||||
# 模式里的空格会被自动转成 `?`(7z 的 -x! 参数不接受带空格的模式)。
|
||||
# 例:`Default\Service Worker` 会变成 `Default\Service?Worker`。
|
||||
#
|
||||
# 多个模式:
|
||||
#
|
||||
# 用 `,` 或 `;` 分隔,等价于给 7z 传多个 -x! / -xr! 参数。
|
||||
#
|
||||
# :+ 的两段式:
|
||||
#
|
||||
# <归档内相对路径>:<宿主机绝对路径>
|
||||
# 把宿主机的目录追加到归档内的指定位置。
|
||||
# 例:`D:\extra\ps-modules:Modules` → 把 D:\extra\ps-modules
|
||||
# 追加到归档内 `Modules\` 位置。
|
||||
#
|
||||
# ---------------------------------------------------------------- #
|
||||
|
||||
# ---- 系统 ----
|
||||
Startup
|
||||
# ---- 软件名 ----
|
||||
|
||||
# ---- C:\Programs ----
|
||||
BaiduNetdisk
|
||||
FooClolor
|
||||
March7thAssistant :- 3rdparty\WebBrowser\UserProfile\Integrated,March7thAssistant\logs\ # 内置浏览器的缓存与日志,可再生
|
||||
MiFlash
|
||||
MiFlash_Unlock
|
||||
QuarkCloudDrive
|
||||
translucenttb
|
||||
ScoopApps-persist :- persist\ariang-native\UserData\DawnCache,persist\ariang-native\UserData\GPUCache,persist\ariang-native\UserData\Local Storage,persist\ariang-native\UserData\Session Storage # ariang 的缓存/会话数据,可再生
|
||||
+ AutoDarkMode # 备份文件还在,但目前不再使用
|
||||
+MicrosoftEdge
|
||||
+FastNodeManager
|
||||
+INZONEHub
|
||||
+Kazumi
|
||||
+Legendary @ Exclude='DefaultConfig\tmp' # 忽略临时文件夹
|
||||
+Mnemon
|
||||
+OpenCode
|
||||
+OpenSSH
|
||||
+PiliPlus
|
||||
+PowerShell @ Encrypt='$false' # 目前无敏感文件,无需加密
|
||||
+PowerToys
|
||||
Scoop :- GlobalPersist\steam\steamapps # 忽略 Steam 安装的软件,可重下载
|
||||
+Startup
|
||||
+SteamRomManager
|
||||
+TranslucentTB
|
||||
+ TwinkleTray # 备份文件还在,但目前不再使用
|
||||
+WindowsPowerShell :!encrypt # 目前无敏感文件,无需加密
|
||||
+WindowsTerminal
|
||||
|
||||
# ---- 其它盘 ----
|
||||
Aria
|
||||
# ---- 自定义目录 ----
|
||||
|
||||
+ C:\Programs\BaiduNetdisk
|
||||
+C:\Programs\FooColor
|
||||
+C:\Programs\March7thAssistant :- '3rdparty\WebBrowser\UserProfile\Integrated,March7thAssistant\logs\' # 内置浏览器的缓存与日志,可再生
|
||||
+C:\Programs\MiFlash
|
||||
+C:\Programs\MiFlash_Unlock
|
||||
+C:\Programs\QuarkCloudDrive
|
||||
+C:\Programs\ScoopApps\persist :- 'persist\ariang-native\UserData\DawnCache,persist\ariang-native\UserData\GPUCache,persist\ariang-native\UserData\Local Storage,persist\ariang-native\UserData\Session Storage' # ariang 的缓存/会话数据,可再生
|
||||
|
||||
+D:\UserData\Documents\Aria
|
||||
- D:\UserData\Documents\CodeSpace :- 'Shuery-Shuai\ImmortalWrt-BPI-R4-Firmware\immortalwrt' # 仅在必要时备份
|
||||
-D:\Workspace # 仅在必要时备份
|
||||
Reference in new issue
Block a user