簡體   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