PowerShell Write-Zip不保留目录结构

时间:2014-08-22 09:52:44

标签: powershell zip 7zip pscx

我正在尝试创建一个Zip文件,其中包含该目录中的所有内容(文件和文件夹)并保留目录结构。

通过浏览网络,我发现很多人都有这个问题。为了方便起见,我安装了pscx中包含CmdLet Write-Zip的模块。

文件夹结构

- S:\TopFolder
- S:\TopFolder\Folder1
- S:\TopFolder\Folder1\SubFolder1
- S:\TopFolder\Folder1\SubFolder1\Stuff1.txt
- S:\TopFolder\Folder2
- S:\TopFolder\Folder2\SubFolder2
- S:\TopFolder\Folder2\SubFolder2\Stuff2.txt

经过测试的代码

$Test = Get-ChildItem -Recurse 'S:\TopFolder\*'
Write-Zip -Path $Test -OutputPath 'S:\Zippie.zip' -IncludeEmptyDirectories

$Test = Get-ChildItem -Recurse 'S:\TopFolder'
Write-Zip -Path $Test -OutputPath 'S:\Zippie.zip' -IncludeEmptyDirectories

导致'Zippie.zip'

SubFolder1
SubFolder1\Stuff1.txt
SubFolder2
SubFolder2\Stuff2.txt

正如您所看到的那样,由于Folder1并且Folder2丢失,因此不能保持正确的文件夹结构。有什么明显的东西我在这里不见了吗?因为此问题已报告为fixed and verified

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

PowerShell.org获得Dave Wyatt的帮助之后,现在已经修好了。

正确的语法似乎是:

Get-ChildItem -Recurse 'S:\TopFolder' |
Write-Zip -OutputPath 'S:\Test\Zippie.zip' -IncludeEmptyDirectories -EntryPathRoot 'S:\TopFolder'