首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell 7zip (7za)排除文件类型

Powershell 7zip (7za)排除文件类型
EN

Stack Overflow用户
提问于 2012-02-23 23:49:29
回答 1查看 3.2K关注 0票数 1

如何使用powershell和7zip ( 7za.exe )压缩文件夹,同时排除某些文件类型?

我试过这个:

代码语言:javascript
复制
cd "C:\path\to\folder to zip"
7za.exe a "C:\path\to\newZip.zip" -mx3 -x!*.txt -x!*.pdf

但这会得到回报:

代码语言:javascript
复制
.txt:  WARNING: The system cannot find the file specified.

.pdf:  WARNING: The system cannot find the file specified.

并且没有压缩任何东西--只是创建了一个空的ZIP文件。

我也尝试过这个:

代码语言:javascript
复制
cd "C:\path\to\folder to zip"
Get-ChildItem "C:\path\to\folder to zip" -Recurse -Exclude *.txt, *.pdf | 7za.exe a -mx3 "C:\path\to\newZip.zip" $_.FullName

但这会将"C:\path\ to \folder to zip“文件夹中的所有内容压缩到zip文件夹中,而不是排除任何内容。

感谢您能提供的任何帮助。

-Jim

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-24 02:11:35

您的第二次尝试几乎是正确的。

调用7-zip的命令需要包装在一个for-each块中,否则$_.FullName将解析为一个空字符串,并且7-zip (在没有输入参数的情况下)会自动压缩目录中的所有内容。因此,将其更改为:

代码语言:javascript
复制
Get-ChildItem "C:\path\to\folder to zip" -Recurse -Exclude *.txt, *.pdf | %{7za.exe a -mx3 "C:\path\to\newZip.zip" $_.FullName}

请注意,%是foreach-object的别名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9416402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档