删除项有时不能始终删除所有内容

时间:2019-05-05 21:04:35

标签: powershell powershell-v3.0

我在PowerShell中创建了一个函数,大多数情况下工作正常,但有时却无法正常运行,该函数应该删除一些包含文件的文件夹,其中一些可能包含200k以上的文件,这是我的错误得到的是“文件夹不为空”。哪个是对的。该文件夹上也有一些东西也需要删除。但是我不明白的是为什么有时它会删除所有内容,而有时却不删除。

运行脚本并对其进行测试时,我正在使用VMware进行测试。脚本完成并且没有错误并且所有内容都已删除后,我正在从快照将VM恢复到其先前的状态,然后再次运行该脚本,结果是它可能会无故失败。

当我说失败时,我的意思是它可能会留一个空文件夹,里面没有文件。

function Delete {
    if (Test-Path $($args[0])) {
        Write-Host -ForegroundColor Yellow "Deleting $args"

        Get-ChildItem -Path $args -Recurse -Force | Where-Object {
            -not ($_.PSIsContainer)
        } | Remove-Item -Force
        Remove-Item $args -Recurse -Force
    } else {
        Write-Host -ForegroundColor Red "$args  Does not exist"
    }
}

Delete "C:\Backup1"
Delete "C:\Backup2"

0 个答案:

没有答案