使用符號連結或連接時,2 向同步在 OneDrive 中不起作用

使用符號連結或連接時,2 向同步在 OneDrive 中不起作用

我已經在網路上讀到了很多關於符號連結和 Windows 10 的問題,但沒有讀到我現在遇到的現象。所以這裡是…

我的目標是透過符號連結將位於 SSD 磁碟機的單獨資料分割區上的資料夾(「我的音樂」)雙向同步到 OneDrive 雲端。一切都運作正常……除了 2 路同步之外。不知怎的,它仍然是一條單向街道。 :-(

資料分割區和Windows系統分割區都有NTFS檔案系統。資料分區具有字母 ( X:)。我有一個現有的 OneDrive 帳戶,其中還沒有文件或資料夾。

據我現在了解,創建連接是可行的方法,儘管在這種情況下創建符號鏈接也可以工作。我遵循的程序是這樣的:

  1. 在線上開設我的 OneDrive 帳戶。
  2. 在我的計算機上設定 OneDrive。
  3. 保留我的 OneDrive 在系統分割區上的標準位置:C:\Users\<my user name>\OneDrive
  4. 以管理員身分開啟命令提示字元。
  5. 使用以下命令建立連線:mklink /J “C:\Users\<my user name>\OneDrive\My Music” “X:\My Music”
  6. ‘My Music’連結在 Windows 資源管理器中的 OneDrive 圖示下方顯示為資料夾。
  7. ‘My Music’測試了與我的資料分割區上的資料夾的連結是否確實有效。它確實完美。
  8. 前往 OneDrive 線上。該‘My Music’資料夾也出現在我的 OneDrive 線上。
  9. 將我的計算機中的隨機檔案上傳到‘My Music’資料夾中以測試同步。
  10. 上傳的文件出現在我的 OneDrive 線上。
  11. 返回我的電腦上的 Windows 資源管理器。上傳的檔案已‘My Music’透過建立的連結出現在資料分割區的資料夾中。

到目前為止,一切都很好。我在線上上傳到 OneDrive 的任何內容都會完美地顯示在我的資料分割區資料夾中。但問題是2路同步失敗。如果我更改‘My Music’資料分割區上的資料夾中的任何內容,該變更確實會出現在連結的相同 OneDrive 資料夾中(顯然),但這就是它停止的地方:無法在線上同步到 OneDrive。這是怎麼回事以及解決方法是什麼?

如果我不使用連接,而是使用符號鏈接,則會發生完全相同的情況:mklink /D “C:\Users\<my user name>\OneDrive\My Music” “X:\My Music”

我的第二個問題是:當我更改過程並首先建立連接(或符號連結),然後在我的電腦上設定 OneDrive 時,結果怎麼可能完全相反?因此,在這種情況下,透過建立的連結將檔案同步到OneDrive Online 效果很好,但如果我更改OneDrive Online 中「我的音樂」資料夾中的任何內容,則該更改不會出現在我的資料分割區上的資料夾中。再說一次,這只有一種方法。

我就是不懂。請問有人有答案嗎?先致謝!

答案1

Microsoft 論壇中的此主題,看起來OneDrive 在2017 年5 月31 日左右從別名(連接/符號連結)路徑收到文件更改事件的通知(請參閱標記為最佳響應的回复),但在2018 年1 月17 日有人報告說它們已損壞,並且標記為最佳回复的回復作者似乎證實了這一點。

後來的「使用硬連結」建議不起作用,因為我相信 NTFS 中沒有「目錄硬連結」。

遺憾的是,我認為現在已經被打破了。

該線程中提到了一些解決方法—OneDrive惡霸定期手動觸發 OneDrive 的(完全?)同步,以及通用資料夾同步實用程式來雙向同步兩個目錄(導致 2 倍的磁碟空間,並且在必須時可能會帶來很多麻煩,即處理衝突)。我不喜歡他們中的任何一個。

答案2

我覺得將桌面資料夾放在外部硬碟上並不安全,因為如果 SD 卡遺失或損壞,我的桌面將無法載入。因此,我更喜歡將 Desktop 保留在本機 C: 磁碟機上的預設位置,並將 Desktop 的聯結連結放入外部磁碟機上的 OneDrive 資料夾中。

問題是,mklink /J外部磁碟機無法如預期同步到 OneDrive。它不會在文件更改時立即同步。 (其他報告曾經有效,但截至 2019 年 1 月對我來說失敗了)。

然而,聯結連結的桌面將要當計算機處於同步狀態時重新啟動(或當使用者登出並重新登入時)。對於某些目的來說,這可能就足夠了。

例如,我只是偶爾在桌面上保存文件,因此我將連接連結放入我的 OneDrive 資料夾(位於外部 SD 卡上)。我通常每天至少重新啟動電腦一次,因此桌面每天都會同步。

(它會Onedrive 暫停然後取消暫停時同步,但一直手動暫停/取消暫停並不方便)

對於文檔,我希望在文件更改時立即持續同步,因此我將文檔資料夾移至外部 SD 上的 OneDrive 中。如果 SD 卡遺失或損壞,我的帳戶仍然能夠登入和載入(因為這不依賴文件資料夾)。

Mklink /H不允許使用外部驅動器。

答案3

我知道這個話題相當老了,但是問題仍然存在。如果來源資料夾或檔案不在 OneDrive 資料夾內,OneDrive(最初看起來像是直接抄襲 Dropbox,也有同樣的問題)不會同步符號連結檔案。因此,最簡單的解決方案是將原始(來源)檔案放入 OneDrive 資料夾中,並將其符號連結到您想要編輯它們的任何其他目的地。您可以在兩個位置編輯它們,OneDrive 仍會同步它們。當然,如果目標資料夾再次同步(例如透過 Dropbox),那麼該資料夾將不會同步它,但在您使用 OneDrive 和 Dropbox 的情況下,這是一種相當罕見的情況。

mklink /J "C:\...\OneDrive\SourceFolder" "C:\SomewhereElse\HardlinkedFolderToCreate"

對我有用。我可以從兩個資料夾中的任何一個編輯文件,並且 OneDrive 可以很好地同步它們。我也可以在線上編輯它們(使用 OneDrive for Business 同步到 SharePoint 庫,但這應該不重要)。也應該與 Dropbox 配合使用。如果您需要相反,請切換來源和目標。

答案4

奇怪的是,對於較小的資料夾結構,這對於符號連結和連接都可以很好地工作。

但是,如果我將數十 GB 資料夾結構與大約 100,000 個資料夾和文件連接或符號鏈接,則它不起作用。相反,OneDrive 似乎永遠保持在「搜尋變更」狀態。

相關內容