PowerShell — низкая производительность группового объекта

Я написал скрипт, который поможет мне идентифицировать дубликаты файлов. По какой-то причине, если я разделю эти команды и экспортирую/импортирую в CSV, они работают намного быстрее, чем если бы я оставил все в памяти. Вот мой исходный код, он чертовски медленный:

      Get-ChildItem M:\ -recurse | where-object {$_.length -gt 524288000} | select-object Directory, Name | Group-Object directory | ?{$_.count -gt 1} | %{$_.Group} | export-csv -notypeinformation M:\Misc\Scripts\Duplicates.csv

Если я разделю это на 2 команды и экспортирую в CSV посередине, это будет работать примерно в 100 раз быстрее. Я надеюсь, что кто-то может пролить свет на то, что я делаю неправильно.

      Get-ChildItem M:\ -recurse | where-object {$_.length -gt 524288000} | select-object Directory, Name | Export-Csv -notypeinformation M:\Misc\Scripts\DuplicateMovies\4.csv

import-csv M:\Misc\Scripts\Duplicates\4.csv | Group-Object directory | ?{$_.count -gt 1} | %{$_.Group} | export-csv -notypeinformation M:\Misc\Scripts\Duplicates\Duplicates.csv

remove-item M:\Misc\Scripts\Duplicates\4.csv

ценим любые предложения,

~ТДЖ

0 ответов

Другие вопросы по тегам