У меня есть скрипт, который использует Get-ChildItem для поиска определенных файлов в каталоге.Затем я использую две разные таблицы SQL для сравнения этих файлов с ограничениями и удаляю файлы, если они соответствуют определенным критериям.
По сути, так и происходит:
- Для справки -include $ includeПеременная - это уникальный идентификатор (строка), используемый в качестве имени файла.Я удаляю все файлы, похожие на это имя.
Пример:
$include: 9d3aa8ee-e60e-4b4f-9cd0-6678f8a5549e*.*
Запрос к таблице № 1, результаты помещаются в массив.Запросите таблицу # 2, поместите результаты в массив.
~~~ Код Psuedo ~~~
foreach ($i in table #1) {
foreach ($x in table #2) {
if (constraints are met) {
$files = Get-ChildItem -Path $path -Recurse -include $include | foreach-object -process { $_.FullName }
Delete the files
}
}
}
Моя проблема: на 14 000 файловэтот сервер.Я запустил сценарий на тестовом сервере с примерно 1,5 миллионами файлов, и это занимает почти два часа.
Я пытался запустить этот сценарий на действующем сервере, но через три дня он все еще не был завершен.
Как я могу это сделать?