iT邦幫忙

2

Windows 檔案總管顯示檔案名稱問題 (已解決)

  • 分享至 

  • xImage

最近在備份Switch 設定檔, 把檔案存在Synology NAS 上, 用檔案總管去看檔案

會顯示成這樣 , 有幾個正常,幾個異常
https://ithelp.ithome.com.tw/upload/images/20231030/200047694K9XG8ORPs.png

但用Linux 去看則是正常的
https://ithelp.ithome.com.tw/upload/images/20231030/20004769EvRqGEUODX.png

試過隨機存一個很長的長檔名 ,用windows11 , 10 檔案總管看,也是正常的,
想請問能怎麼調整Windows 顯示方式, 讓檔名看起來正常?

========== 2023/11/16 更新===============
問題已解決,
Windows 目錄不支援: 所以在檔安總管看不到完整檔案名稱, 只能透過其它方式,
如nfs 或 synology 的file station 將檔名 : 變更為 其它支援的字元就可以正常顥示,
但這樣手工並不能完全解決這個問題,
故寫一支python 程式, 讀取目錄檔案,將:變更為- 就解決了 , 提供大家參考

長路徑顯示異常,請修改受影響電腦以下系統登錄資訊後重開機再試試看
登錄位址 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
第一個項目是長檔名支援 設為 1 = 支援 預設為 0
第二個項目是允許長檔名建立 8.3 檔案格式,預設是1 = 允許,修改為 0 = 不允許
如果對修改的項目有疑義,請自行找資料或問問AI會得到比較完整的解答
將以下內容儲存為 REG 檔案之後直接匯入系統登錄
------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001
"NtfsAllowExtendedCharacterIn8dot3Name"=dword:00000000
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
IT 癡
iT邦高手 1 級 ‧ 2023-10-31 09:47:53

自有 Windows 以來,它都遵循著 "主檔名.副檔名" 的架構,即便 Win 7 後改用萬國碼核心重新改寫,仍脫離不了魔咒,加上 Windows 檔名長度有 256 字元的限制,你檔名太長 (中文 1 字視為英文 2 字),對 Windows 來說會有風險
Linux 一開始就 follow 萬國碼核心架構,我測試過在 Linux 建一個 684 字元、中間 "." 無數,幾個月之間,檔案讀取修改正常
不要試圖挑戰 Windows 的權威,死的是你自己

看更多先前的回應...收起先前的回應...
Kailis iT邦研究生 1 級 ‧ 2023-10-31 10:04:15 檢舉

我存的檔名,再怎麼長,也不會超過50個字元, 離256個字元還很遙遠, 目前正在查看是否為SMB 問題

預設的限制是含路徑不能超過 260 字元,還有路徑不能有亞東字集文字
如果有亞東文字,一個字等於兩個字元,檔名 50字元,還有210字,大概一百個雙位元字元就爆了
除了雙位元字元,還有四位元字元,例如 UTF 延伸字集內有蠻多四位元字元,如果有用到,會更短就爆
如何開啟這個限制,請看討論區,自己試試看

Kailis iT邦研究生 1 級 ‧ 2023-11-01 09:50:19 檢舉

我的檔名和路徑沒有這麼複雜. 全是一般常用的英文字,最多只有- , : 或 _ , 沒有其它特殊字元, 算了一下, 路徑最多20字元, + 50 也才70字元 .. Synology 也很熱心, 要遠端連線實際驗證是否是SMB的問題, 可能請他們測試看看, 也是不錯的選項, 有更新的結果會再發上來

70字元,那就是 NtfsAllowExtendedCharacterIn8dot3Name 的問題了,
請把它設為 0 不允許建立 8.3 檔名,基本上 WIN 是很怪的系統,因為還有 CMD BASE 的模式,所以一直擺脫不掉 8.3 的限制,建議改改登錄值試試

Kailis iT邦研究生 1 級 ‧ 2023-11-16 15:55:08 檢舉

問題已解決, 謝謝大家

我要發表回答

立即登入回答