很早很早以前,windows的檔案名稱不能太長,後來windows XP的時代有人發明了一個小補丁,可以讓檔案名稱變很長,史稱第一次慘案。
這次慘案讓你在A電腦儲存檔案的時候覺得一切都好,沒有問題,但是等你用USB或是其他設備改存放到B電腦的時候,B電腦裡面變成無法開啟、移動、刪除。
有一位大大分享了解決方法
https://home.gamer.com.tw/creationDetail.php?sn=4446604
但要小心,因為這種刪法很強力,拉錯了就會刪得很大
--------------分隔線--------------
--------------分隔線--------------
時間演進到後來,不知到是Windows 7或是更早,長檔名已經可以很長很長了,不再需要補丁就可以取很長的名字,但是總字數仍然有限制,這個檔名的長度,據說可以到260個字元。而這個字元到底是指中文字還是英文字,我是沒有研究。但這個內建功能,導致了第二次慘案。
你在A電腦裡面的A1資料夾中,開了A2子資料夾,然後把檔案存在A2子資料夾裡面,一切好好的。這時候檔案存放在 D:\A1\A2\000000000000000000000000000000000.jpg
過了不知到多久,你心血來潮,整理資料夾,重新歸類檔案,你看到這些東西把他放在了一個新的資料夾
D:\我今天就是心情好想背出師表背完再移動\但是我發現我已經忘了出師表\所以我改背金剛經\你以為我會金剛經嗎\哈哈哈\...很多很多很長很長...\A1\A2\000000000000000000000000000000000.jpg
然後你發現檔案打不開了、無法移動、無法刪除,跟你說指定的檔名無效或太長,請指定其他檔名。
用上面的方法也解決不了,這時候該怎麼辦?
首先要知道原因,是因為檔名太長,因為windows的檔案名稱長度是包括了所有路徑,不僅僅是檔名,也就是說:
「完整路徑長度」=「目錄 + 檔名」
這時候你要做的事,就是修正之前自己做的蠢事,把路徑中間的資料夾名稱改短,例如改成
D:\0\1\2\3\...4/5/4/6/8/9...\A1\A2\000000000000000000000000000000000.jpg
這時候應該就可以變更這個檔名或是移動刪除了