我在嘗試將備份資料從外部硬碟複製到桌面時收到以下錯誤:
來源檔案名稱比檔案系統支援的長度長。嘗試移動到具有較短路徑名的位置,或在嘗試此操作之前嘗試將它們重命名為較短的名稱。
這真的很煩人,現在我無法做某些事情,因為我無法取得這些文件。我喜歡讓我的東西井井有條 - 但看起來 Windows 不支援長位置 - 這意味著我無法按照我想要的方式讓東西井井有條。但這從來都不是問題。在我的舊電腦上,我總是來回復制這些備份文件,直到我有了這台新電腦(應該好十億倍)後,我才遇到這個錯誤。
在複製檔案/資料夾之前將它們重命名為僅 1 個字母並不是正確的解決方案。我怎樣才能解決這個問題?為什麼我在具有相同版本 Windows 的較高規格電腦上遇到此問題,而我在具有相同版本 Windows 的較低規格電腦上從未遇到過此問題?
答案1
如果您使用 C:\%HOMEPATH%\Documents 等下的 Windows 使用者資料夾或任何其他原因,您的巢狀可能比以前更深。
用較短的名稱來扁平化你的結構確實是你唯一的選擇。要清理有問題的目錄,請確保將檔案安全地儲存在新資料夾中並清理舊資料夾,如下所示:
使用內建指令 ROBOCOPY。您無需安裝任何東西。在另一個磁碟機上建立完全空的壞資料夾 (d:) 的副本 (e:)。然後使用這些參數來運行 robocopy。
robocopy e:\folder d:\folder /Purge /E /S /R:0 /W:0
另外兩個資源應該會有所幫助:
具有諷刺意味的命名 URL... http://vimalsuresh.com/2013/08/08/how-to-fix-file-path-too-long-error-while-copying-deleting-or-opening-files-without-using-third-party-應用/
如果您不喜歡 CMD,這是一個用於獲取太長文件的實用程式(假設您已備份它們)... http://backupchain.com/DeleteLongPath.html
答案2
只是想提一下您不需要更改任何資料夾或文件名,就像其他答案所暗示的那樣。您可以使用 robocopy 命令,但我發現更簡單(雖然有點慢)的方法是壓縮資料夾,複製 zip,然後解壓縮。或者,您可以將深度嵌套的資料夾移至更高層級的目錄,將其複製,然後將其移回其嵌套位置。
不知道為什麼這有效,但根據本文windows 有檔案的最大長度姓名,但由於某種原因在複製時檢查整個文件路徑的長度。