我试图通过io.compression.zip文件提供Get-ChildItem调用的结果来创建“E:\ Applications_Server_Test”的压缩文件,不包括两个文件夹“BACKUP”和“BACKUP2”。Powershell - 将文件夹/文件添加到zip,同时排除某些文件夹
但是,Powershell似乎将它解释为“$ items =一串目录和文件名”,而不是我想压缩的目录和文件的递归集合。我可以找到有关使用Get-ChildItem排除目录的教程,我可以找到关于如何压缩完整目录或压缩多个目录的教程,但是我无法找到任何有关排除目录的压缩目录。有人可以告诉我我要去哪里吗?
$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)
谢谢!
请参阅[使用powershell压缩文件](http://serverfault.com/a/456496) – wOxxOm
我有6个目录和2个文件在此根目录“Applications_Server_Test”文件夹中。 BACKUP 备份服务器 DIR1 DIR2 DIR3 DIR4 Genericfile.txt Genericfile.dat 我只是不包括两个备份文件夹,但我还是想等四个文件夹,任何递归文件和文件夹的两根级别的文件。我想用Powershell将剩余的文件和文件夹打包到一个zip文件中。我唯一的选择是象征性地链接我想要的其他地方的所有东西并打包它或为每个文件夹创建一个.zip? –