В моем zip-архиве есть один файл:
Père-Noël.txt
Zip прекрасно расширяется с помощью Windows File Explorer, 7-Zip или любого другого инструмента, который я пробовал. Но я не могу понять, как это сделать из PowerShell. Очевидно, я пробовал Expand-Archive , но он не может обработать имя файла и переносит его в PŠre-N”el.txt
. Примечание. Проблема не только в этом примере, но и в любом имени файла, в котором используются символы вне диапазона ASCII-127. Или так кажется.
Любое решение, которое использует PowerShell и не использует внешний инструмент, присутствие которого не может быть гарантировано, будет принято. Windows 10 - платформа. Я не могу вносить изменения на уровне системы и не могу полагаться на пользователей сценария, имеющих какие-либо определенные глобальные настройки c в своей системе. Это должно быть решение в сценарии.
Есть ли другой способ, кроме Expand-Archive
? Или в PowerShell есть настройка, которая волшебным образом поможет?
Шаги для воспроизведения:
На вашем Windows 10 хосте:
Создайте пустой файл с именем Père-Noël.txt
.
ZIP файл с помощью Windows Explorer (функция «Сжатые папки») в ZIP-архив по вашему выбору, скажем myarchive.zip
.
Удалите файл Père-Noël.txt
.
Теперь попробуйте распаковать myarchive.zip
с помощью PowerShell. Эта операция должна снова создать файл Père-Noël.txt
.
Сжатие с помощью командлета PowerShell Compress-Archive
True, если ZIP изначально был создан с помощью командлета Compress-Archive
, то на самом деле он работает как задумано при распаковке с использованием Expand-Archive
. Таким образом, вы можете сказать, что PowerShell совместим с самим собой. Он просто не совместим с Windows Explorer ZIP.