我正在使用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很新,所以不要完全理解它的行为。
我的脚本与程序的交互包括:
$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)