如何使用PowerShell扩展ZIP存档(UTF-8文件名)

彼得

我的zip归档文件只有一个文件:

Père-Noël.txt

可以使用Windows File Explorer,7-Zip或我尝试过的任何其他工具很好地压缩zip。但是我不知道如何从PowerShell中做到这一点。显然,我尝试了Expand-Archive,但是它无法处理文件名并将其乱码为PŠre-N”el.txt注意:此问题并非专门针对此示例,而是与使用ASCII-127范围以外的字符的任何文件名有关。大概是这样。

任何使用PowerShell且不依赖外部工具(无法保证其存在性)的解决方案都将被接受。Windows 10是该平台。我无法进行系统级更改,也不能依赖脚本用户在系统上具有任何特定的全局设置。它必须是一个解决方案的脚本。

除此以外,还有其他方法Expand-Archive吗?还是PowerShell中有一个设置可以神奇地完成此操作?

重现步骤:

在Windows 10主机上:

  1. 创建一个名为的空文件Père-Noël.txt

  2. 使用Windows资源管理器(“压缩文件夹”功能)将文件压缩为您选择的ZIP存档,例如myarchive.zip

  3. 删除Père-Noël.txt文件。

  4. 现在尝试打开myarchive.zip使用PowerShell的文件此操作应Père-Noël.txt再次创建文件

使用PowerShell Compress-Archive cmdlet进行压缩

的确,如果ZIP最初是使用Compress-Archivecmdlet创建的,则在使用进行解压缩时,它实际上可以按预期工作Expand-Archive因此,您可以说PowerShell与自身兼容。它只是与Windows资源管理器ZIP不兼容。

jfrmilner

您可能需要检查编码,[System.Text.Encoding]::GetEncodings()但以下示例适用Père-Noël

$zipfile = 'C:\test\Père-Noël.zip' #Contains Père-Noël.txt
$outpath = 'C:\test\out'
$enc = [System.Text.Encoding]::GetEncoding(29001) #29001, x-Europa, Europa
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath, $enc)

希望这可以帮助,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python脚本中使用utf-8文件名时出错

来自分类Dev

获取UTF-8文件名以与PHP ZipArchive一起使用

来自分类Dev

UTF-8,PHP,Win7-现在有解决方案可以使用php在Win 7上保存UTF-8文件名吗?

来自分类Dev

Powershell-将文件名写入同一文件

来自分类Dev

发送带有utf-8文件名的MIME编码的电子邮件附件

来自分类Dev

mkdir UTF-8文件名

来自分类Dev

将ext4文件系统的文件名大小限制扩展为1012个字符

来自分类Dev

错误:使用mp3文件时,文件名必须以.xml或.png结尾

来自分类Dev

Cakephp响应无法读取UTF-8文件名

来自分类Dev

如何使用content-disposition标头设置下载的UTF-8文件名?

来自分类Dev

Windows服务器上的PHP7 UTF-8文件名,由ZipArchive引起的新现象

来自分类Dev

如何设置独特的AWS S3文件名?

来自分类Dev

如何删除文件名不以-converted结尾的所有MP4文件?

来自分类Dev

Python─通过CherryPy从HTML表单获取UTF-8文件名

来自分类Dev

UTF 8文件名?

来自分类Dev

如何模拟具有大写8.3文件名的FAT12文件系统?

来自分类Dev

jplayer utf8文件名mp3问题

来自分类Dev

获取UTF-8文件名以与PHP ZipArchive一起使用

来自分类Dev

UTF-8,PHP,Win7-现在有解决方案可以使用php在Win 7上保存UTF-8文件名吗?

来自分类Dev

如何对不包含文件名的md5文件使用md5sum进行校验和

来自分类Dev

附件中的Munpack和utf-8文件名

来自分类Dev

目录的inode如何将文件名存储在ext4文件系统中?

来自分类Dev

如何在不带文件扩展名和名称的情况下,在文件末尾的续行中在同一文件中追加文件名

来自分类Dev

Bash 5文件名扩展和nullglob

来自分类Dev

使用dd备份后Ubuntu 16.4文件名损坏

来自分类Dev

boost.log在使用UTF8文件名创建文件时出现问题

来自分类Dev

如何在m3u8文件旁边更改.ts文件名

来自分类Dev

如何使用 FPDF 将唯一文件名保存到目录?

来自分类Dev

如何通过将格式更改为同一文件来插入文件名?

Related 相关文章

  1. 1

    在python脚本中使用utf-8文件名时出错

  2. 2

    获取UTF-8文件名以与PHP ZipArchive一起使用

  3. 3

    UTF-8,PHP,Win7-现在有解决方案可以使用php在Win 7上保存UTF-8文件名吗?

  4. 4

    Powershell-将文件名写入同一文件

  5. 5

    发送带有utf-8文件名的MIME编码的电子邮件附件

  6. 6

    mkdir UTF-8文件名

  7. 7

    将ext4文件系统的文件名大小限制扩展为1012个字符

  8. 8

    错误:使用mp3文件时,文件名必须以.xml或.png结尾

  9. 9

    Cakephp响应无法读取UTF-8文件名

  10. 10

    如何使用content-disposition标头设置下载的UTF-8文件名?

  11. 11

    Windows服务器上的PHP7 UTF-8文件名,由ZipArchive引起的新现象

  12. 12

    如何设置独特的AWS S3文件名?

  13. 13

    如何删除文件名不以-converted结尾的所有MP4文件?

  14. 14

    Python─通过CherryPy从HTML表单获取UTF-8文件名

  15. 15

    UTF 8文件名?

  16. 16

    如何模拟具有大写8.3文件名的FAT12文件系统?

  17. 17

    jplayer utf8文件名mp3问题

  18. 18

    获取UTF-8文件名以与PHP ZipArchive一起使用

  19. 19

    UTF-8,PHP,Win7-现在有解决方案可以使用php在Win 7上保存UTF-8文件名吗?

  20. 20

    如何对不包含文件名的md5文件使用md5sum进行校验和

  21. 21

    附件中的Munpack和utf-8文件名

  22. 22

    目录的inode如何将文件名存储在ext4文件系统中?

  23. 23

    如何在不带文件扩展名和名称的情况下,在文件末尾的续行中在同一文件中追加文件名

  24. 24

    Bash 5文件名扩展和nullglob

  25. 25

    使用dd备份后Ubuntu 16.4文件名损坏

  26. 26

    boost.log在使用UTF8文件名创建文件时出现问题

  27. 27

    如何在m3u8文件旁边更改.ts文件名

  28. 28

    如何使用 FPDF 将唯一文件名保存到目录?

  29. 29

    如何通过将格式更改为同一文件来插入文件名?

热门标签

归档