在PowerShell中压缩目录时出现Remove-Item错误

时间:2017-12-14 16:02:55

标签: powershell zip

我正在尝试压缩包含所有内容的文件夹(单个文档除外),然后将该压缩文件夹输出到新位置。但是,当我这样做时,我收到一个Remove-Item错误

Remove-Item : Cannot find path 'C:\Folder\123\12345\12345-A.zip' because it does not exist.
At C:\windows\system32\windowspowershell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:233 char:21
+ ...             Remove-Item -LiteralPath $DestinationPath -Force -Recurse ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Folder...12345\12345-A.zip:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

我的代码中没有Remove-Item,并且错误似乎来自内部PowerShell模块,只是我无法弄清楚导致它的原因。

不幸的是,我无法按照this主题中的建议轻松下载其他压缩库。

以下是相关代码:

Copy-Item -path $path -destination "$destination\$doc_project_folder\$doc_project_rev\"
Write-Host "Copied to $destination\$doc_project_folder\$doc_project_rev"
Get-ChildItem $document_hash[$doc] | Where { $_.Name -notin $docs_to_exclude} | 
              Compress-Archive -DestinationPath "$destination\$doc_project_folder\$doc_project_rev\$doc_number.zip" -compressionlevel fastest

此错误阻止我成功将压缩文件夹输出到我想要的位置。是什么导致了这个错误,和/或我应该改变什么来解决它?

1 个答案:

答案 0 :(得分:0)

在我的情况下,使用Expand-Archive导致完全相同的Remove-Item错误。这段代码引发了错误:

Expand-Archive $zipFileName -DestinationPath $targetFolder

经过实验后,发现添加-Force参数解决了问题

Expand-Archive $zipFileName -DestinationPath $targetFolder -Force

手动检查提取的存档确认已正确提取。

我仍然不知道导致这个问题的原因,这让我有点烦恼。但添加-Force参数解决了我的问题。也许它也适用于你的情况。