繁体   English   中英

Powershell-将文件夹/文件添加到zip中,而排除某些文件夹

[英]Powershell - Add folder/files to zip while excluding certain folders

我正在尝试通过io.compression.zipfile来提供Get-ChildItem调用的结果,以创建一个“ E:\\ Applications_Server_Test”的zip文件,其中不包括两个文件夹“ BACKUP”和“ BACKUP2”。

但是,Powershell似乎将其解释为“ $ items =目录和文件名的字符串”,而不是我要压缩的目录和文件的递归集合。 我可以找到有关使用Get-ChildItem排除目录的教程,也可以找到有关如何对整个目录进行zip压缩或对多个目录进行zip压缩的教程,但是在排除目录的压缩目录上却找不到任何东西。 有人可以告诉我我要去哪里了吗?

$source = "E:\Applications_Server_Test"
$destination = "E:\AST_Dump.zip"

$items = Get-ChildItem $source -Recurse | ?{ $_.fullname -notmatch "\\backup\\?" }

Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::CreateFromDirectory($items, $destination)

谢谢!

目前,您正在尝试归档对象$ items,而不是文件夹。 不幸的是,这行不通。 尝试将备份文件夹移动到同一驱动器上(这只会更改驱动器上的记录,而不会移动任何数据),然后将整个“ E:\\ Applications_Server_Test”文件夹存档并移回备份文件夹。

另一种选择是使用ZipArchive.CreateEntry方法并将文件逐个文件添加到存档中。 但这不是那么优雅;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM