2017-06-05 251 views
1

我创造了这个脚本来压缩某个文件夹:压缩 - 归档错误:不支持的格式

$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

你设置'$ version'但随后使用'$ vesion'(缺少R)下一行,所以你的文件夹将不会被创建。 –

回答

0

你给压缩文件与文件夹名称相同,在您的示例中为test_1.1.2_2017-06-05_08-58-19。问题是由$version变量引入的.字符会使名称的其余部分看起来像文件扩展名。如果您给归档文件的扩展名不是.zip,则Compress-Archive cmdlet将返回此错误。

您应该能够通过简单地添加.zip到存档名称的末尾来解决这个问题,比如:在

Compress-Archive -Path $folder -DestinationPath "$folder.zip" 
+0

当我做这个改变时,我得到这个:压缩存档:无法验证参数'DestinationPath'上的参数。参数为空或空。提供一个不为空或空的参数,然后再次尝试该命令。 v1.0 \ backup_before_update.ps1:14 char:49 + Compress-Archive -Path $文件夹-DestinationPath $ folder.zip –

+0

@ h.s是否将目标路径值放在双引号中? – Nacimota

+0

Compress-Archive -Path $文件夹-DestinationPath“$ folder.zip”我现在没有erreur,但我的文件夹的名称仍然只有test_2017-06-05_08-58-19所以视觉没有添加到文件夹名称 –