QNAP 文件系统上的特殊字符

QNAP 文件系统上的特殊字符

我在分支机构安装并配置了 QNAP TS-463U-RP,以镜像该办事处和总部使用的数据。

在初始同步后的某个时间,我突然发现文件和目录名称中存在特殊字符(可能是 Unicode)。使用默认代码页的 Windows 命令行将它们显示为?,将代码页更改为例如 1252 则显示这些字符为。通过 SSH 连接将它们显示为"

现在我使用 SSH 或 Windows 命令行重命名文件(但不使用资源管理器),但这很繁琐。我尝试使用不同的工具(findWindows Search、一些第三方工具等)搜索目录结构,但无法想出任何模式来自动化该过程。

我的备份是最新的,除了似乎是随机添加的特殊字符文件,我必须修复这些......

我甚至不太知道这些是什么角色。

我确实知道他们在 NTFS 上使用 Mac,也许这与此有关。

那么:我该如何自动重命名文件?更重要的是,我该如何防止文件被重命名/创建?

答案1

在研究了 Unicode 和 Powershell 一段时间后,我偶然发现了这个模块获取Unicode信息。这个模块向我展示了文件名是如何创建的特殊 Unicode 字符 F020

所以我在 Powershell 中编写了一个单行脚本: gci -recurse -Path Z:\ -Exclude Z:\Temp | where {$_.Name -match "[\uF022]"} | rename-item -newname {$_.name -replace "[\uF022]",""} 用空字符串替换 Unicode 字符。

到目前为止一切顺利,但我仍然不知道文件名从何而来。但到目前为止,没有添加新的错误文件。我推测,从/到 Mac/HFS+/NTFS/... 的某些转换起了作用。

相关内容