我创建了这个脚本来压缩一些文件夹:
$timer = (Get-Date -Format yyy-MM-dd_HH-mm-ss)
$version = 1.1.2
$folder = New-Item -Name "test_$vesion_$timer" -ItemType directory
Copy-Item -Path test1\log -Destination $folder -Recurse
Compress-Archive -Path $folder -DestinationPath $folder
Remove-Item $folder -Recurse
但是当我尝试它时,我收到了这个错误:
Compress-Archive : 1.1.2_2017-06-05_08-58-19 is not a supported archive file format. .zip is the only supported archive file format.
+ Compress-Archive -Path $folder -DestinationPath $folder
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (1.1.2_2017-06-05_08-58-19:String) [Compress-Archive], IOException
+ FullyQualifiedErrorId : NotSupportedArchiveFileExtension,Compress-Archive
答案 0 :(得分:0)
您为zip文件提供了与文件夹相同的名称,在您的示例中为test_1.1.2_2017-06-05_08-58-19
。问题是.
变量引入的$version
字符使名称的其余部分看起来像文件扩展名。如果您为归档提供.zip
以外的扩展名,则Compress-Archive
cmdlet将返回此错误。
您应该可以通过简单地将.zip
添加到存档名称的末尾来解决此问题,如下所示:
Compress-Archive -Path $folder -DestinationPath "$folder.zip"