
我已經在網路上讀到了很多關於符號連結和 Windows 10 的問題,但沒有讀到我現在遇到的現象。所以這裡是…
我的目標是透過符號連結將位於 SSD 磁碟機的單獨資料分割區上的資料夾(「我的音樂」)雙向同步到 OneDrive 雲端。一切都運作正常……除了 2 路同步之外。不知怎的,它仍然是一條單向街道。 :-(
資料分割區和Windows系統分割區都有NTFS檔案系統。資料分區具有字母 ( X:
)。我有一個現有的 OneDrive 帳戶,其中還沒有文件或資料夾。
據我現在了解,創建連接是可行的方法,儘管在這種情況下創建符號鏈接也可以工作。我遵循的程序是這樣的:
- 在線上開設我的 OneDrive 帳戶。
- 在我的計算機上設定 OneDrive。
- 保留我的 OneDrive 在系統分割區上的標準位置:
C:\Users\<my user name>\OneDrive
。 - 以管理員身分開啟命令提示字元。
- 使用以下命令建立連線:
mklink /J “C:\Users\<my user name>\OneDrive\My Music” “X:\My Music”
- 該
‘My Music’
連結在 Windows 資源管理器中的 OneDrive 圖示下方顯示為資料夾。 ‘My Music’
測試了與我的資料分割區上的資料夾的連結是否確實有效。它確實完美。- 前往 OneDrive 線上。該
‘My Music’
資料夾也出現在我的 OneDrive 線上。 - 將我的計算機中的隨機檔案上傳到
‘My Music’
資料夾中以測試同步。 - 上傳的文件出現在我的 OneDrive 線上。
- 返回我的電腦上的 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 似乎永遠保持在「搜尋變更」狀態。