
這個問題已被提出,但不幸的是,所有建議都不起作用。
情況是這樣的——該文件已從 Google Drive 同步到我電腦上的 /users 資料夾中的本機資料夾。這是一個 pdf 檔案(看起來像是從某處保存的收據)。該名稱超過 255 個字符,導致 Windows 無法正常運作。
該文件不會做什麼
- 打開
- 複製
- 改名
- 移動
- 貼上
- 顯示屬性
實際上,除了相同的錯誤之外,我還沒有得到文件來提供任何類型的回應。
嘗試過的解決方案:
dir /x
--沒有列出短名稱,它只是重複常規名稱。- 使用 FileBoss、Explorer++、7zip
rmdir /S /Q <dir>
並沒有真正起作用,因為它在我的用戶資料夾中...
如果有人有嘗試的想法,我會願意嘗試。
編輯 - 在本例中,檔案名稱本身超過 255 個字元。更改它嵌套的目錄不會影響問題,因為檔案路徑沒有問題。 (這個問題本身就消除了許多其他解決方案)。
答案1
我會啟動進入Linux 直播光碟,安裝 Windows 磁碟機並使用 Linux/Unix 刪除它。
我認為您需要的主要命令是:
mount -t ntfs-3g /dev/sdX# /mnt
cd /mnt/Users/You
rm -f further/loc/away.filename
(注意:您可能需要執行fdisk -l
才能找到您的 Windows 分割區)
這應該可以幫助你到達那裡。我也必須在某個時間點這樣做。
答案2
在 Windows 上只需使用7z檔案管理器或任何其他使用 Unicode 版本的 API 進行檔案處理的資源管理器(類似)應用程式。重複項以及更多資訊:
(1) 問題的技術背景:MAX_PATH 限制(另請參見 (4))。
(2)如何在程式設計師層面克服這個限制。
(3) 如何在使用者層級克服此限制。
請注意,(3) 只是一種解決方法。它絕不適合編程。最糟糕的是,Microsoft 的人員正在混合 API,這可能會導致完全 UNC 路徑相容的應用程式返回 260-MaxPath-StoneAge,因為只呼叫了一個不相容的 API(請參閱 (2))。這探險家和其他產品Microsoft 的(包括 cmd 和 powershell)由於其歷史原因可能永遠無法解決此問題(消除限制的連結下的投票要么被忽略,要么被拒絕)。
根據用例和版本,限制似乎有所不同。 Windows 8 資源管理器似乎能夠處理大約 4 倍長的路徑(4)而從 Windows 7 開始,允許移動到回收站的最長檔案路徑從 259 減少到 215(5)。為什麼從頭開始使用 Windows NT 的程式設計師沒有實作動態分配仍然是一個謎。描述了一種使用非 Unicode API 來應對當今情況的方法這裡(複製)。
與 SO 網路中的程式設計和 UNC 路徑相關的其他主題:
6Java中的UNC路徑及其在JVM層級的實作。
我遇過這個限制真的很煩的案例:
組織原始碼層次結構:節點JS
備份深層嵌套資料夾結構中的文件
文件的命名約定(例如具有長描述的論文 - 摘要、作者、標題、DOI - 作為快速搜尋和查找的名稱)
在 Linux(沒有此限制)和 Windows 之間共用文件
答案3
您可能想嘗試獲得該文件的所有權並查看是否能夠將其刪除。您可以透過右鍵單擊該檔案來執行此操作:“屬性”->“安全性”->“進階”->“所有者”->“編輯”,然後將所有者變更為您的使用者名稱(或管理員組)。
欲了解更多信息,請檢查這出去。
答案4
如果檔案源自 Google Drive,為什麼不使用 Google Drive 的介面之一(Web、Android 等)刪除它,或在那裡重新命名它呢?