Я установил и настроил QNAP TS-463U-RP в филиале для зеркалирования данных, используемых этим офисом и главным офисом.
Через некоторое время после начальной синхронизации я внезапно нахожу специальные (возможно, Unicode) символы в именах файлов и каталогов. Командная строка Windows с кодовой страницей по умолчанию отображает их как ?
, изменив кодовую страницу, например, 1252 показывает символы, которые будут
. При подключении через SSH они отображаются как "
.
Сейчас я жестяная банка переименуйте файлы с помощью SSH или командной строки Windows (правда, без проводника), но это утомительно. Я пробовал искать в структуре каталогов с помощью разных инструментов (find
, Windows Search, некоторые сторонние инструменты и т. Д.), Но не смог придумать какой-либо шаблон для автоматизации процесса.
Моя резервная копия актуальна, за исключением файлов специальных символов, которые, кажется, добавляются наугад, их мне нужно восстановить ...
Я даже не очень знать что это за персонажи.
Я знаю, что они используют Mac с NTFS, возможно, это как-то связано с этим.
Итак: как я могу продолжить автоматическое переименование файлов и, что еще более важно, как я могу предотвратить переименование / создание файлов?
Поработав некоторое время с Unicode и Powershell, я наткнулся на модуль Get-Unicodeinfo. Этот модуль показал мне, что имена файлов были созданы с специальный символ Unicode F020
.
Итак, я написал oneline-скрипт на Powershell: gci -recurse -Path Z:\ -Exclude Z:\Temp | where {$_.Name -match "[\uF022]"} | rename-item -newname {$_.name -replace "[\uF022]",""}
для замены символов Юникода пустой строкой.
Пока все хорошо, но я до сих пор не знаю, откуда взялись имена файлов. Но до сих пор не было добавлено никаких новых неисправных файлов. Я предполагаю, что некоторая конверсия из / в Mac / HFS + / NTFS / ... сыграла свою роль.