無法刪除檔案;名字太長

無法刪除檔案;名字太長

這個問題已被提出,但不幸的是,所有建議都不起作用。

情況是這樣的——該文件已從 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層級的實作。

7&8網路中的 UNC 路徑。

我遇過這個限制真的很煩的案例:

  • 組織原始碼層次結構:節點JS

  • 備份深層嵌套資料夾結構中的文件

  • 文件的命名約定(例如具有長描述的論文 - 摘要、作者、標題、DOI - 作為快速搜尋和查找的名稱)

  • 在 Linux(沒有此限制)和 Windows 之間共用文件

答案3

您可能想嘗試獲得該文件的所有權並查看是否能夠將其刪除。您可以透過右鍵單擊該檔案來執行此操作:“屬性”->“安全性”->“進階”->“所有者”->“編輯”,然後將所有者變更為您的使用者名稱(或管理員組)。

欲了解更多信息,請檢查出去。

答案4

如果檔案源自 Google Drive,為什麼不使用 Google Drive 的介面之一(Web、Android 等)刪除它,或在那裡重新命名它呢?

相關內容