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
ценим любые предложения,
~ТДЖ