PowerShell Write-Zip 不保留目录结构

Dar*_*te1 1 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
Run Code Online (Sandbox Code Playgroud)

测试代码

$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
Run Code Online (Sandbox Code Playgroud)

结果是“Zippie.zip”

SubFolder1
SubFolder1\Stuff1.txt
SubFolder2
SubFolder2\Stuff2.txt
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它没有坚持正确的文件夹结构,Folder1并且Folder2丢失了。有什么明显的我在这里失踪了吗?因为此问题已报告为已修复并已验证

感谢您的帮助。

Dar*_*te1 5

PowerShell.org上从 Dave Wyatt 那里得到一些帮助后,它现在已修复。

正确的语法似乎是:

Get-ChildItem -Recurse 'S:\TopFolder' |
Write-Zip -OutputPath 'S:\Test\Zippie.zip' -IncludeEmptyDirectories -EntryPathRoot 'S:\TopFolder'
Run Code Online (Sandbox Code Playgroud)