【文件操作】解決文件名含有特殊字符無法刪除的經(jīng)驗之談
事情起因是從YouTupe下了某個視頻,默認(rèn)以原視頻標(biāo)題存了文件。而原標(biāo)題含有特殊字符“??”,在cmd或者poweshell下均為亂碼,且文件名過長,無法刪除、重命名,只能復(fù)制。

先使用命令行“del?”命令,但由于“??”被識別成了亂碼“??”,無法單個刪除,會一直卡住無法執(zhí)行下去。
然后請教谷歌,搜到了使windows支持長路勁的方法。就是組策略編輯器,選中“Local Computer Policy: Computer Configuration: System: File System : Enable Win32 long paths?”.再點擊確定,就啟用了長路徑支持。
然后再次使用del /f /q強制刪除,再次失敗。

有可能是cmd的字體不支持。于是使用“CHCP”將命令行編碼改為utf8,同時改變字體,試圖正常顯示“??”。但是truetype無一支持,可能“??”屬于非標(biāo)準(zhǔn)utf-8編碼。
換powershell繼續(xù)試一試(在powershell中“??”被顯示為“??”)。實驗將文件復(fù)制到空文件夾,然后整體刪除文件夾,測試成功。

于是就想到了一種解決辦法。不直接指定刪除該文件,但是用“*”匹配的辦法處理。一試,果然成功。

然而,“del Y2Mate*.mp4”在命令行還是無法執(zhí)行。不過至此已完全解決。
參考:
1 解決 Windows 下文件名或者路徑太長無法復(fù)制的問題 · 大專欄 (dazhuanlan.com)?https://www.dazhuanlan.com/xx321xx123/topics/1336827
2?.NET 4.6.2 and long paths on Windows 10 | Microsoft Docs https://docs.microsoft.com/zh-cn/archive/blogs/jeremykuhne/net-4-6-2-and-long-paths-on-windows-10
3 設(shè)置CMD窗口為UTF-8編碼_nianbingsihan的博客-CSDN博客_cmd utf-8??https://blog.csdn.net/nianbingsihan/article/details/80236348
4?Windows 強制刪除文件及文件夾命令 - 簡書 (jianshu.com)?https://www.jianshu.com/p/08f408ebe85d
5?如何在 Windows 中使用 cmd 刪除文件和文件夾 (freecodecamp.org)??https://chinese.freecodecamp.org/news/cmd-delete-folder-how-to-remove-files-and-folders-in-windows/
?