【文件操作】解决文件名含有特殊字符无法删除的经验之谈
事情起因是从YouTupe下了某个视频,默认以原视频标题存了文件。而原标题含有特殊字符“😃”,在cmd或者poweshell下均为乱码,且文件名过长,无法删除、重命名,只能复制。

先使用命令行“del ”命令,但由于“😃”被识别成了乱码“��”,无法单个删除,会一直卡住无法执行下去。
然后请教谷歌,搜到了使windows支持长路劲的方法。就是组策略编辑器,选中“Local Computer Policy: Computer Configuration: System: File System : Enable Win32 long paths ”.再点击确定,就启用了长路径支持。
然后再次使用del /f /q强制删除,再次失败。

有可能是cmd的字体不支持。于是使用“CHCP”将命令行编码改为utf8,同时改变字体,试图正常显示“😃”。但是truetype无一支持,可能“😃”属于非标准utf-8编码。
换powershell继续试一试(在powershell中“😃”被显示为“??”)。实验将文件复制到空文件夹,然后整体删除文件夹,测试成功。

于是就想到了一种解决办法。不直接指定删除该文件,但是用“*”匹配的办法处理。一试,果然成功。

然而,“del Y2Mate*.mp4”在命令行还是无法执行。不过至此已完全解决。
参考:
1 解决 Windows 下文件名或者路径太长无法复制的问题 · 大专栏 (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 设置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/