Я создал функцию в PowerShell, в основном работает нормально, но иногда это не так, функция должна удалять некоторые папки, включая файлы, в некоторых из них может быть более 200 тыс. Файлов. получение "папка не пуста". Что правильно. в этой папке есть что-то, что тоже нужно удалить. Но я не могу понять, почему иногда он удаляет все, а иногда нет.
Я использую VMware для своего теста, когда запускаю скрипт и тестирую его. После того, как сценарий завершается, и нет ошибки, и все было удалено, я восстанавливаю ВМ в его предыдущее состояние из моментального снимка, затем снова запускаю сценарий, и в результате он может произойти сбой без причины.
Когда я говорю о сбое, я имею в виду, что он может оставить одну пустую папку без файлов внутри.
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"