Powershell Remove-Item Cmdlet错误

时间:2015-08-12 21:10:07

标签: powershell directory powershell-v5.0

我正在使用powershell使用以下命令删除目录:

Remove-Item $pathAsString -Recurse -Force

但是,它给了我以下错误:

Remove-Item : Cannot remove the item at 'C:\Path' because it is in use.
At line:1 char:1
+ Remove-Item "C:\Path" -Recurse
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Remove-Item], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RemoveItemCommand

我认为这很奇怪,因为该目录不应该被使用。我可以进入文件资源管理器并手动删除目录。我不确定为什么会出现这种情况。我对powershell很新,所以不要完全理解它的行为。

我的脚本与程序的交互包括:

  • 创建文件夹
  • 将MSI下载到文件夹
  • 设置变量以表示存储在文件夹中的MSI。像这样:
 $MSIVariable = Get-ChildItem $Path | Where {&_.Name -eq "MSIName.msi"}

我假设与该文件夹有关的内容属于某种流,但不知道我是如何解决这个问题的。

修改: 这是我使用的涉及文件夹的代码:

创建文件夹:

if(!(Test-Path $MSILocation))
{
    New-Item $MSILocation -ItemType directory
}

下载MSI:

$webClient = (New-Object System.Net.WebClient)
$downloadLocation = Join-Path $MSILocation $MSIName
$webClient.DownloadFile($downloadURL, $downloadLocation)

0 个答案:

没有答案