[檔案] 文件管理強迫症福音

如果你有將所有文件和目錄結構在你的個人設備之間(特指Windows個人電腦和Android手機與平板)保持相同和同步的習慣,這篇筆記就是為你準備的。本文是我的個人筆記,如果你決定嘗試實踐此方法,本人不對由此可能造成的任何潛在的數據損失負責。

備份原則:最佳實踐

你的數據和文檔是無價的。在此領域最著名的準則便是“3-2-1原則”

  • 3三個備份.
  • 2兩種不同介質。機械硬盤(HDD)對於冷數據有更長的存儲壽命,但讀寫速度相對較慢。這類介質對沖擊敏感(跌落和振動),容易損壞。固態硬盤(SSD)快速而輕便,比機械硬盤更加堅固,然而長久不連接電腦進行刷新的話,數據很容易損壞,一旦損壞很難恢復(對比機械硬盤)。因此它們不適合存儲冷數據和歸檔。傳統的U盤閃存只適合小尺寸文件和數據的交換,並不適合用於長期存儲數據,因為它們普遍壽命偏短,容易損壞。一種便攜的日常數據備份存儲介質是被稱為固態U盤(USSD,U盤大小的固態硬盤)的東西,但是也需要經常向兩種不同介質(即固態硬盤和機械硬盤)備份。
  • 1:至少有一份異地備份。本地備份容易在遭受盜竊、遺失和自然災害後丟失。異地備份可以是存在於其它地方或者存在雲端。但永遠要記住,除了個人NAS(私有云網絡存儲)之外,你的數據並不真正掌握在你手中。

文件同步

計算機到計算機 (Windows/Linux/macOS):FreeFileSync是一種免費、高質量的開源軟件。一個技巧是將FFS配置文件(*.ffs_gui)保存到OneDrive上,這樣你所有的計算機都能同步訪問同一份配置文件。這樣你也能使用此配置保持所有電腦的文件和目錄結構相同。

計算機到Android手機/平板FolderSync是一款免費/付費Android應用程序,能夠使你在手機平板上同步並本地訪問你的文件(例如用於同步你已經發表的文章、待閱讀的文獻和自己的簡歷)。技巧是在OneDrive上設立移動設備專用的同步文件夾,然後在應用上創建同步文件夾對,連接到此OneDrive文件夾。配置時,根據需要勾選”允許刪除“選項。

我的某些電腦只有一塊物理磁盤一個存儲分區(C:\),而另一些卻有多快硬盤多個資料分區(C:\, D:\, …),我如何保持文件路徑一致性?

微軟 Windows操作系統中,在有額外盤符(例如D:\)時,很多人習慣於將操作系統(C:\)和資料、數據、文檔(D:\, E:\)用不同盤符分開。

如果你的計算機中擁有多於一塊的物理硬盤,那麼有額外盤符是很自然的一件事情。然而,對於只有一塊物理硬盤的電腦,文件統一管理可能會遇到麻煩(例如文件路徑一致性、需要保存和同步維護多個不同文件同步配置文件、文件路徑過長打不開文件或者難找等)。

注意:在接下來教程中的文件名和路徑都可以根據實際情況調整,是任意的。

解決方案1:將僅有的硬盤進行分區操作(不推薦)

進入磁盤管理,將你僅有的硬盤分成兩個不同盤符的分區,一個是你的操作系統,另一個用於你的文件。這樣你就可以用同一個同步配置文件管理你所有的電腦。

然而此方法有一個顯著問題:你不能預見你需要向C:\D:\分區分配多少磁盤空間。如果你後續安裝了過多的軟件, C:\盤空間就會吃緊;如果你的後續文件資料過多,D:\盤就會不夠用。當這些情況發生時,重新分配磁盤空間往往比較麻煩,因為需要額外的一塊硬盤來騰資料(分區剩餘空間不能支持直接的資料轉移)。

解決方案2:維持單個分區(推薦)

這種解決方案非常靈活。此時你不應當再執著於將操作系統和資料分開,而是著眼於建立一塊虛擬的D:\盤來快速訪問你的文件,而不需要在多個目錄層級間翻動。這種方法也可以使你只用一種文件同步配置文件來管理你的文件,就像在多硬盤計算機上一樣。

2.1 使用開機執行的subst命令(不推薦)

  1. C:\盤根目錄建立一個新的命令行腳本,例如MountDisk.bat,在其中輸入命令(路徑儘量不要有中文):

    subst D: "C:\Users\你的用戶名\Documents\你的工作目錄"

  2. 按組合鍵ctrl+R 然後輸入taskschd.msc
  3. 創建一個計劃任務,設置在用戶登錄時執行。
  4. 設置觸發器為系統啟動和用戶登錄時執行。
  5. 執行的操作為運行程序。程序指向剛剛的MountDisk.bat腳本。
  6. 重啟電腦,你應該能看到新的磁盤被創建了。如果出問題,請回到第4步嘗試其他觸發條件。
  7. [可選]成功後可以將計劃任務導出為.xml文件以便在其他類似的電腦上設置。

這種方法的問題在於,subst命令不支持回收站以及在新路徑上運行程序(*.exe)。由於缺乏回收站功能,在新路徑上進行文件同步非常危險(誤刪文件後無法恢復)。

  1. 進入磁盤管理,創建一個虛擬磁盤文件,例如D-VDisk.vhdx。創建大小可以很小,例如100 MB或1 GB。文件實際佔用的空間只和被放入其中的文件大小有關,與創建時填寫的大小無關(不會超出此大小)。
  2. 初始化虛擬磁盤,格式化到NTFS,掛載並分配盤符D。
  3. 打開命令行窗口(PowerShell或CMD)然後輸入命令(路徑儘量不要有中文):

    mklink /J "D:\sub-folder" "C:\Users\你的用戶名\Documents\你的工作目錄\子目錄"

    你可以複製這個命令應用於工作目錄的所有子目錄上,然後保存為一個.cmd文件以便在其他計算機上配置時使用。命令執行完後,你的目錄連接就已經被保存在.vhdx虛擬磁盤裡了。理論上,只要你的工作目錄的路徑在其他電腦上是一樣的,你只需要複製粘貼.vhdx文件即可。

  4. 在方便合適的地方創建MountDDisk.bat並輸入以下命令(路徑儘量不要有中文):

    diskpart /s "C:\Users\你的用戶名\Documents\DiskpartCMD.txt"

  5. 在第四步中命令裡提到的路徑下(此處即是C:\Users\你的用戶名\Documents\)創建一個DiskpartCMD.txt文件,在裡面寫入(路徑儘量不要有中文):
    select vdisk file="C:\你的虛擬磁盤文件路徑\D-VDisk.vhdx"

    attach vdisk

    assign letter=D
  1. 使用組合鍵ctrl+R 然後輸入taskschd.msc
  2. 創建計劃任務,設置其無論用戶是否登錄都要執行。選擇以管理員權限運行,兼容性選擇Windows 10
  3. 設置觸發器為系統啟動和用戶登錄時執行。
  4. 執行的操作為運行程序。程序指向剛剛第4步的MountDDisk.bat腳本。
  5. 確認應用更改,然後輸入用戶登錄密碼。
  6. 重啟電腦,你應該能看到新的磁盤被創建了。如果出問題,請回到第8步嘗試其他觸發條件。
  7. [可選]成功後可以將計劃任務導出為.xml文件以便在其他類似的電腦上設置。

此方法是半永久的,而且支持包含回收站在內的所有NTFS文件系統功能。

提示:如果你的 .vhdx虛擬磁盤文件在同步文件的路徑上,請在同步規則裡將它排除,因為每臺電腦的的此文件都獨立發生更改。

2.3 將所有工作文件放入.vhdx虛擬磁盤並掛載(不推薦)

其實,你可以拋棄mklink指令然後將你的所有工作文件資料放入一個足夠大的.vhdx虛擬磁盤裡(在2.2的第1步裡創建足夠大的虛擬磁盤,並忽略第3步),然後使用上面的方法開機掛載此磁盤。

這種方法對於分區空間調整也很靈活,而且你也能夠享受回收站和運行.exe程序的功能。然而如果所有文件都包裝在一個巨大的單體文件裡,只要此文件有一丁點損壞,都會導致虛擬磁盤不可讀,從而丟失數據。而且同步和移動這麼大的一個文件既困難不安全

2.4 方法對比

功能需求 磁盤分區 使用subst命令 小尺寸.vhdx + mklink /j 所有文件放在大.vhdx
需要維護不同版本的同步配置文件
支持回收站功能
支持運行.exe
所需磁盤空間 需要提前規劃 可忽略 100 MB – 1 GB 大於你所有數據的大小總和
調整磁盤空間的靈活性 非常低 高(無需) 高(幾乎無需)
初次設置的難度 中等 容易 容易到中等 容易到中等
重啟後能維持狀態 使用計劃任務和腳本重新掛載 使用計劃任務和腳本重新掛載 使用計劃任務和腳本重新掛載
遷移到其他設備難度 容易,重做所有步驟 複製粘貼即可 文件太大時很難移動
丟失數據的風險 分區有風險! 幾乎無風險 幾乎無風險 .vhdx文件一但損壞=丟失所有數據



本篇文章的閱讀體驗如何?

更多文章的閱讀推薦

  • [學術會議報告] ACP: Real-Time Observation of Ultrafast Thermo-Optic Nonlinearity in Time-Varying Effective Epsilon-Near-Zero Media
  • [邀請研討會] Advances in fibre-based & integrated photonic systems
  • [受邀研討會] Epsilon-Near-Zero Photonics: Crossroad of Multidisciplinary Research
  • [瑞士洛桑聯邦理工大學活動] Nanophotonic-enabled extra- and intra-cavity manipulation of ultrafast optical pulse trains
  • [期刊封面] ACS光子學:Intracavity Epsilon-Near-Zero Dual-Range Frequency Switch