WizTree 磁碟清理工具 是做什麼的?
使用 WizTree 作為磁碟使用情況的事實來源,並將分析、審批、執行和驗證階段完全分離。報告應使用使用者使用的語言。
不可協商的安全閘門
- 預設僅進行分析。在匯入或檢視 CSV 資料時,不得修改磁碟內容。
- 將第 1 層視為低風險,而非免審批。在每次刪除前,必須獲得使用者明確批准。
- 絕不能從諸如「清理我的磁碟」這類通用請求推斷出批准。必須先顯示確切的目標和操作。
- 絕不能執行從模型文字中複製而來的刪除指令。必須使用
scripts/New-CleanupPlan.ps1建立計畫,顯示其plan_id,並僅在使用者確認該確切計畫後才執行。 - 拒絕使用萬用字元、相對路徑、磁碟機根目錄、廣泛的使用者設定檔根目錄、系統目錄、程式目錄以及第 3 層目標。
- 不得從另一台機器匯出的 CSV 來清理本機。除非已確認本機路徑存在且範圍相符,否則僅進行分析。
- 未經使用者要求,不得下載或安裝 WizTree。不得隨此技能重新散佈 WizTree 執行檔。
- 從頭到尾僅使用原生的 PowerShell 檔案操作。在執行遞迴刪除前,必須立即重新驗證規範目標。
在分類或批准目標之前,請先閱讀 references/safety-policy.md。在匯出或解析 WizTree 資料時,請閱讀 references/wiztree-csv.md。
工作流程
1. 取得最新的 CSV 檔案
偏好使用從目前機器和目前磁碟狀態匯出的 CSV 檔案。
- 如果使用者已有匯出檔,請記錄其絕對路徑和時間戳記。
- 如果已安裝 WizTree 且使用者希望自動化,請執行
scripts/Export-WizTree.ps1。 - 否則,指示使用者使用 WizTree 掃描目標磁碟機,並使用其官方 CSV 匯出功能。
當 CSV 匯出檔可用時,請勿使用螢幕截圖作為權威的庫存清單。
2. 產生第一份報告
執行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/Analyze-WizTreeCsv.ps1 `
-CsvPath <absolute-csv-path> `
-OutputDirectory <absolute-report-directory>
使用產生的 JSON 作為機器可讀的證據,並使用 Markdown 報告作為使用者面對的記錄。如果需要額外的敘述,請參考 assets/cleanup-report-template.md 中的結構。
在建議清理之前,請驗證以下幾點:
- 從檔案行計算已配置位元組數;不要對巢狀資料夾總計進行求和。
- 將帶有 WizTree 前置零標記的硬連結配置值視為零額外配置。
- 區分快取與僅儲存在類似快取名稱下的使用者自訂內容。
- 明確標記不確定性。當證據不足時,將項目移至較高風險層級。
3. 調查第 2 層
在提出每個實際的第 2 層候選項目之前,對其進行檢查。如有可用資訊,請確認:
- 所屬的應用程式或 Windows 元件;
- 該應用程式或服務是否正在執行;
- 修改時間的新近程度以及檔案是否正在活動中;
- 該應用程式是否提供自己的清理指令;
- 重新產生的成本、對登入的影響、離線影響以及復原選項;
- 確切路徑、建議操作、估計位元組數以及預期的副作用。
對於原始刪除操作,應優先使用應用程式原生的清理功能、Windows 儲存設定、磁碟清理、套件管理員快取指令,或文件化的服務感知程序。
4. 取得逐項批准
先呈現第 1 層。對於每個可選項目,需包含:
- 確切路徑;
- 操作:
clear_directory_contents或delete_file; - 層級與原因;
- 估計可回收位元組數;
- 顯著的副作用。
從 assets/approval-manifest.example.json 建立批准清單。僅包含使用者明確選取的項目,並將 approved 設定為 true。
5. 預覽並綁定計畫
執行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/New-CleanupPlan.ps1 `
-ApprovalFile <approval-json> `
-PlanFile <plan-json>
顯示已驗證的項目、估計總計、被拒絕的項目以及 plan_id。如果任何目標範圍廣於使用者的選擇或與報告不符,則停止操作。
6. 僅執行已確認的計畫
在使用者確認顯示的 plan_id 後,執行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/Invoke-ApprovedCleanup.ps1 `
-PlanFile <plan-json> `
-ConfirmPlanId <confirmed-plan-id> `
-Execute
如果沒有 -Execute 參數,指令碼仍處於試執行模式。在對話中看到確切的計畫確認之前,切勿加入 -Execute。
7. 驗證並更新報告
- 記錄成功、跳過、失敗以及稽核日誌路徑。
- 分別記錄估計的刪除位元組數和觀察到的可用空間變化;背景活動可能導致兩者不同。
- 在可行時,重新匯出或重新掃描 WizTree。
- 更新 Markdown 報告的執行歷史記錄和剩餘的第 2 層選項。
- 對第 2 層重複批准循環。絕不能將第 3 層提升為可執行的計畫。
資源對應
scripts/Export-WizTree.ps1:呼叫官方 WizTree CSV 匯出功能。scripts/Analyze-WizTreeCsv.ps1:串流匯出檔並產生 JSON 和 Markdown。scripts/New-CleanupPlan.ps1:驗證選定的目標並建立具有完整性約束的計畫。scripts/Invoke-ApprovedCleanup.ps1:重新驗證並執行已確認的計畫,並提供 JSONL 稽核記錄。references/safety-policy.md:分類和刪除邊界。references/wiztree-csv.md:官方匯出語義和解析器預期。assets/cleanup-report-template.md:報告結構。assets/approval-manifest.example.json:審批輸入綱要。