自動化與 Agent
搬遷收尾檢查清單:什麼該改、什麼改了反而錯、什麼時候可以刪
搬遷的收尾不是把東西搬完,而是把所有指向舊位置的手指頭轉過來,再把路標拆掉。先改產生器、再清存量、改完一定全掃一次、刪除前先找活指標。
一個核心觀念
先分級,再動手。
搬遷後的舊路徑不是全都要改,它們有三種,處理方式完全不同:
| 類型 | 例子 | 怎麼處理 |
|---|---|---|
| 活的指引 | 「進度看 舊路徑/狀態.md」、操作說明、成果地圖裡的檔案位置 |
必改,有人會照著走 |
| 產生器 | 文件模板、腳本裡的預設路徑、設定檔範本 | 最優先改,它會不斷複製錯誤出來 |
| 歷史敘述 | 「當初把 X 放在 舊路徑/,後來搬到 Y」 |
不要改,改了會竄改當時的紀錄 |
新手最常犯的錯是「全部搜尋取代」,連歷史紀錄也一起改掉,變成「我們當初把 X 放在新路徑」,那就不是歷史了。第二常犯的錯是只清症狀不關產線:檔案都修完,模板還是舊的,下次產生新檔又長出來。
轉址說明為什麼會變死路標
很多人搬家時會留一個「已搬遷,新位置在這裡」的說明檔當過渡,然後就忘了它。它的價值曲線是遞減的:
- 剛搬完:幫你導航,價值最高。
- 一段時間後:新位置人盡皆知,它只是讓每個人多繞一跳。
- 第二次搬遷後:它指向的「新位置」自己也搬走了,變成一個指向不存在地方的死路標。
第三階段比沒有轉址更糟:沒有轉址你會直接去查,有錯的轉址你會照著走,然後撲空。而且沒有任何機制會告訴你它已經失效。
按步驟做
Step 1:先盤點,不要先動手
用搜尋工具把舊路徑字串在整個專案裡搜一遍,列成清單。有寫程式可以用 grep -rn "舊路徑" .,不寫程式用 VS Code、Obsidian、Notepad++ 的全域搜尋也行。先看,不要改,產出是一張「哪些檔案、哪一行、屬於哪一類」的表。
Step 2:排除歷史存檔
日誌、備份、舊版本快照整個排除在外,它們記錄的是當時的狀態,本來就該保留原貌。搜尋時就把這些資料夾排掉,避免手滑。
Step 3:先改「產生器」止血
在剩下的結果裡找出模板類檔案,先改它們。判斷方法:問自己「這個檔案的內容,會不會被複製到新產生的檔案裡?」會,就是產生器。這一步做完再往下,否則你會邊清邊生。
Step 4:批次替換存量
規則明確的部分用批次處理,手動也行,但要按「最長的路徑先改」的順序。例如要改 舊資料夾/子目錄/ 和 舊資料夾/,先改長的,反過來會把長的那條先改壞。
Step 5:改完再全掃一次(最重要的一步)
不要相信批次工具的輸出。它只會告訴你它改了什麼,不會告訴你它漏了什麼。重跑一次 Step 1 的搜尋,通常會逼出批次抓不到的漏網之魚,特徵是路徑內嵌在別的東西裡:
- 寫死的完整絕對路徑,跟你搜的相對路徑長得不一樣
- 藏在操作指令字串裡的路徑,人會複製貼上去執行,殺傷力最大
- 更早一次搬遷留下的殘留,你以為只有一波,其實有兩波
Step 6:驗證新路徑真的存在
改完的每個新路徑,實際確認檔案或資料夾真的在那裡。不要只驗證「舊路徑不見了」,要驗證「新路徑到得了」,兩者不是同一件事,你可能把路徑改成了另一個也不存在的地方。
Step 7:刪除轉址檔前的檢查清單
- 內容有沒有獨有資訊?如果裡面的映射表比正式對照文件更完整,先補進正式文件再刪。
- 還有誰指著它?這是關鍵。搜尋範圍要超出這個專案:設定檔、啟動腳本、其他專案、書籤、權限設定、排程任務。
- 有沒有自動化流程會讀它?排程、CI、同步工具。
- 正式的對照文件更新了嗎?刪掉轉址檔後,唯一的換算依據就是它。
四項都確認才刪。順序提醒:關鍵前置是「找出還有誰依賴它」,不是備份。轉址檔通常沒有獨有內容,備份沒意義,真正會出事的是某個你忘記的設定檔還指著它。
Step 8:把拆除日寫進待辦
如果這次又留了新的轉址,現在就把拆除日期寫進待辦清單。沒有拆除日的過渡方案,就是永久方案。
你一定會踩的坑
坑 1:全域取代把歷史紀錄也改掉了
日誌寫著「當初把設定放在 A,後來搬到 B」,被取代後變成「當初放在 B,後來搬到 B」,這句話沒有意義,你也再不知道原本在哪。解法:Step 2 一定要做。
坑 2:只清了症狀,模板還在生
清完所有檔案,兩週後又冒出三個帶著舊路徑的新檔案,因為模板沒改。解法:Step 3 先做。
坑 3:批次腳本漏掉「內嵌」的路徑
批次規則通常找固定字串,路徑被包在絕對路徑、指令字串,或不同寫法裡(斜線方向不同、有沒有結尾斜線)就抓不到。解法:Step 5 的全掃,而且搜尋時用最短的關鍵字,例如只搜舊資料夾名,寧可多看幾筆誤報,也不要漏。
坑 4:轉址檔指向的「新位置」自己也搬了
最隱蔽的一個,因為它看起來有在維護:有內容、有說明、格式完整。解法:把轉址檔本身也納入 Step 1 的盤點範圍,它不是解決方案的一部分,而是待清理清單的一部分。
坑 5:清完設定檔的權限或白名單忘了同步
工具裡「允許存取某路徑」這類設定,可能累積了大量指向舊路徑的規則。它們不會報錯,只是永遠不會生效,卻讓設定檔越來越肥。解法:Step 7 的「還有誰指著它」要把設定檔算進去,清掉後驗證格式仍合法,JSON 很容易改壞。
萬用救援:卡住怎麼問 AI
搜尋語法與批次替換工具的用法會因作業系統和工具而不同。卡住時把下面這段複製給任何 AI 助理,角括號換成你的情況:
我是完全新手,作業系統是 <Windows / macOS>,我用的工具是 <VS Code / Obsidian / 終端機 / 其他>。
我的情況:我把資料夾從 <舊名稱> 搬到 <新名稱>,現在很多檔案裡還寫著舊路徑。
我想做的事:<例如:找出所有還寫著舊路徑的檔案,但不要動到 logs 和 backup 這兩個資料夾>
我試過:<你做了什麼>
結果是:<實際看到什麼;有錯誤訊息就原封不動貼上來,不要自己改寫>
請一步一步告訴我怎麼做,每一步都寫清楚要點哪裡、輸入什麼。
批次修改前請先教我怎麼「只搜尋不修改」確認範圍,我想先看結果再決定。
如果資訊不足以判斷,請先反問我,不要猜。
三個重點:說明你是新手,AI 會降低術語密度;錯誤訊息原文照貼,改寫過的描述會誤導判斷;明確要求「先只搜尋不修改」,批次修改不可逆,先看清楚範圍再動手能救你很多次。
一句話總結
搬遷的收尾不是「把東西搬完」,而是「把所有指向舊位置的手指頭轉過來,然後把路標拆掉」:先改產生器、再清存量、改完一定要再全掃一次、刪除前先找活指標,並且在留下新轉址的當下就定好拆除日。
這是踩坑實錄與 AI 工具實測系列的一部分。想收到後續完整 SOP,訂閱電子報。
支持這裡的內容:前往 Ko-fi 斗內