我的 Windows 服务器上有一些文件名称中包含某些重音字符。在 Windows 资源管理器上,文件正常显示,但在命令提示符下使用默认设置运行“dir”会显示替换字符。
\n\n例如,字符\xc3\xb6显示如o"列表中所示。当通过 SMB 从其他平台访问这些文件时,这会导致问题,可能是因为编码/代码页冲突。并非所有文件都存在该问题,而且我不知道问题文件来自何处。
例子:
\n\nE:\\folder\\files>dir\n Volume in drive E is data\n Volume Serial Number is 5841-C30E\n\n Directory of E:\\folder\\files \n\n07/05/2016 07:46 PM <DIR> .\n07/05/2016 07:46 PM <DIR> ..\n12/01/2015 11:12 AM 14,105 file with o" character.xlsx\n01/22/2015 05:30 PM 11,598 file with correct \xc3\xb6 character.xlsx\n 2 File(s) 25,703 bytes\n 2 Dir(s) 2,727,491,600,384 bytes free\nRun Code Online (Sandbox Code Playgroud)\n\n我已经更改了文件和目录名称,但您会明白的。
\n\n你知道这些名字是怎么来的吗?也许它们是使用其他平台或工具复制或创建的?
\n\n如何批量查找并重命名所有问题文件?我查看了几个 GUI 重命名实用程序,但它们没有发现问题,并且仅适用于 Windows 资源管理器中显示的名称。
\n\n驱动器上的文件系统是 ReFS,这可能与此有关吗?
\n\n编辑:运行 PowerShell …