繁体   English   中英

如何使用 powershell zip 子目录中的特定文件和文件夹

[英]How to zip specific files and folders in subdirectories using powershell

我有一个像这样的文件夹结构

- folder1
  - folderA
  - folderB
    - backup
      - folder0
      - file1
      - file2
- folder2
  - folderX
  - folderY
    - backup
      - folder0
      - file1
      - file2

我想要 backup.zip 中文件夹“backup”中的文件和文件夹(在此示例中为“folder0”“file1”“file2”),并在完成后删除文件夹“backup”。

我期望达到的结果的一个例子。

- folder1
  - folderA
  - folderB
    backup.zip
- folder2
  - folderX
  - folderY
    backup.zip

这是我到目前为止所拥有的。

Get-ChildItem '.' -r -Filter backup| ForEach-Object {Compress-Archive $_.FullName "$($_.DirectoryName)/$($_.BaseName)" | Remove-Item template}

这会在我工作的根目录中创建一个 backup.zip 文件。它包含所有内容,包括不需要的文件夹“备份”。

以下将获取所有名为 backup 的目录,并遍历它们以将其内容压缩到备份目录旁边的 a.zip。 然后删除备份目录。

 Get-ChildItem '.' -r -Filter backup -Directory | ForEach-Object { Compress-Archive ($_.FullName+'\*') ($_.FullName+'.zip'); Remove-Item $_.FullName -r;}

暂无
暂无

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

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