Я нахожусь в ситуации копирования файлов из Unix в Windows.Файлы в Unix имеют специальные символы, которые Windows не принимает.
У меня есть файл XML с тегами для каждого из файлов в местоположении.Этот файл XML будет передан в одно из приложений для обработки.
- Выберите один файл XML.
- Просмотрите атрибуты и найдите
<file>
. - Проверьте, имеет ли значение атрибута специальный символ.
- Перейдите к следующему файлу, если нет специального символа.Если значение имеет специальный символ - перейдите в местоположение и переименуйте специальный символ с допустимыми (например, переименуйте
/
с -
). - Сделайте то же самое переименование в теге файла XML.
- Перейдите к следующему тегу файла и выберите следующий XML-контент.
Я думал сделать это в PowerShell.
Пример XML:
<import>
<node type="document" action="create">
<location>XXXXXX</location>
<title>log_0.log</title>
<created>20190117</created>
<file>\test*\log/0/.log</file>
</node>
В приведенном выше примере <File>
есть два специальных символа ... Один находится в имени папки (*
), а другой - в имени файла (//
).