с чем может быть связана невероятно низкая скорость работы скрипта?
очевидно, из-за использования FC.EXE - при наличии одинаковых файлов проводится бинарное (байт за байтом) сравнение содержимого на предмет совпадения - это надёжней, чем сравнение размера, но и существенно медленней, варианты ускорения:
- ограничиться для сравнения размером, но могут встретиться два разных файла одного размера;
- использовать более быстрые альтернативы, чем FC.EXE... например, порт Unix-утилиты DIFF.EXE