Windows 下文件名過長如何刪除?

已經排除了一種方法了。


如果允許編程的話,我倒知道一種方法:

引用MSDN(DeleteFile function (Windows))

DeleteFile Function

Deletes an existing file.

To perform this operation as a transacted operation, use the DeleteFileTransacted function.

Syntax

BOOL WINAPI DeleteFile(
__in LPCTSTR lpFileName
);

Parameters
lpFileName

The name of the file to be deleted.

In the ANSI version of this function, the name is limited to MAX_PATH
characters. To extend this limit to 32,767 wide characters, call the Unicode
version of the function and prepend "\?" to the path. For more information,
see Naming a File.

用DeleteFileW(也就是Unicode版本)以\?的方式來處理路徑,可以使用長度達到32767寬字元的文件名,再長的話可能就要寫驅動了。


工具/原料

壓縮軟體 winrar就行

方法/步驟

我現在這個文件提示文件名太長無法刪除

現在選中你要刪除的文件,右鍵選擇添加到壓縮文件

再把圖上標示的位置勾上

點擊添加,原文件已被刪除

參考資料:windows系統文件名過長的文件如何刪除


如果只是路徑太長,比如多層文件夾,每個文件夾名很長的話,把文件夾名字一層層改短就行。路徑長度足夠短之後就可以刪了。


剛剛遇到這種情況, 來答一下. 我的情況是無限多個文件夾像這樣:

a/a/a/a/a/.../a/a/a/...

這個文件夾是測試運行同學寫的一個程序留下的.

嘗試了上面的壓縮, 命令行等辦法, 不行, 右鍵文件夾屬性顯示包括12個文件夾, 最後解決的方法是:

用sublime text 3打開了這個文件夾, 展開後發現就是12層, 而不是文件夾窗口打開的那樣無數層(我嘗試幾層幾層刪除的時候起碼刪了兩百次.), 然後在sublime下刪除這個文件夾就可以了.


windows刪除node_modules[文件名或擴展名太長,目錄層次超過無法刪除的問題] - CRPER - 博客頻道 - CSDN.NET


俺這幾天遇到這個問題。收到一篇郵件附件文章PDF,命名用作者和全文的名字,導致文件名太長,既無法打開閱讀,也無法直接刪除。試著用壓縮軟體直接壓縮替換的方法,但電腦只有7-Zip沒有WinRAR發現失敗。

後來的解決辦法參考了這裡的做法:

https://www.howtogeek.com/283877/how-to-delete-files-windows-claims-are-too-long/

1. 在命令窗口切換的該文件目錄下,輸入命令:DIR /X

注意大小寫和空格

2. 然後會看到該長文件名的短文件名,比如原來的.TXT現在顯示為1QING~R.PDF

那就輸入:DEL 1QING~R.PDF

就可以直接刪除了,再次,注意DEL為大寫,不要對短文件名按Tab鍵,因為不會自動補全。


發現各種工具都訪問不了文件,只好根據上面答案,寫了幾行腳本來搞定:

對了,由於懶,直接readdirSync之後,看它在第幾個,然後下標讀的。。。

fs.rename("./" + fs.readdirSync("./")[18], "./newName", function() { console.log("success")});

親測可行


我遇到過這種情況,我的解決辦法是在Linux下更改windows文件夾的名字或者直接刪除,(我裝了雙系統)

這個方法屢試不爽。


我怎麼感覺你擴展名打錯啦?

不應該是xxx.cfg嗎


推薦閱讀:

TAG:MicrosoftWindows | 文件系統 | 文件名 |