如何使用powershell快速创建特定文件和目录的存档并维护结构
我使用压缩存档创建一个包含3个文件和2个目录(及其所有子目录)的zip文件,如下所示 不幸的是,它非常缓慢。我想使用7-Zip(速度更快)创建一个Zip文件。我一直在尝试使用Powershell附加组件如何使用powershell快速创建特定文件和目录的存档并维护结构,powershell,compression,7zip,powershell-5.0,Powershell,Compression,7zip,Powershell 5.0,我使用压缩存档创建一个包含3个文件和2个目录(及其所有子目录)的zip文件,如下所示 不幸的是,它非常缓慢。我想使用7-Zip(速度更快)创建一个Zip文件。我一直在尝试使用Powershell附加组件Compress-7Zip来进行压缩。同样不幸的是,我不知道如何使用Compress-7Zip只获取指定的文件。我想,如果我能用所有可以导入Compress-7Zip的文件填充一个变量 $stuff = ??? .\foo.ini, .\ba
Compress-7Zip
来进行压缩。同样不幸的是,我不知道如何使用Compress-7Zip
只获取指定的文件。我想,如果我能用所有可以导入Compress-7Zip
的文件填充一个变量
$stuff = ??? .\foo.ini,
.\bar.exe,
.\README.TXT,
.\dir1,
.\dir2
#$stuff now contains 3 txt files in the root and the complete contents
#dir\ and \dir2 with their paths
$stuff | Compress-7Zip -Format Zip -ArchiveFileName .\my.zip
如何使用Get-Child-Item(或其他东西)将目录结构转换为$stuff
或者,如果您对使用比压缩存档更好的压缩方法创建此zip有其他建议,我洗耳恭听。有几件事
看起来(在使用Compress-7Zip的最后一段代码中)您正在尝试(splat)[:
这可能对您没有帮助,我很抱歉,我找不到压缩存档
的文档进行确认。它看起来像是一个字符串数组。因此,如果您将所有这些文件填充到一个字符串数组中
$files_to_compress = @(
'.\foo.ini'
'.\bar.exe'
'.\README.TXT'
'.\dir1'
'.\dir2'
)
您可能可以执行以下操作
Compress-Archive -CompressionLevel Fastest `
-Force -DestinationPath ./My.zip `
-Path $files_to_compress
希望这个例子有意义
Compress-Archive -CompressionLevel Fastest `
-Force -DestinationPath ./My.zip `
-Path $files_to_compress