В основном ваши сравнения инвертированы. Это:
if (timesrun % 100 != 0)
будет работать 99 раз из ста, а не один время из ста.
Вы имели в виду:
if (timesrun % 100 == 0)
и аналогично для случая 1000 ... хотя при этом файлы будут перебрасываться через каждые 10 файлов, а не через каждый 1000 файлов, как вы будете делать это после 1000 линии . Вы можете либо сделать это 100000, либо изменить на одну переменную для строк и одну для файлов.
(Обратите внимание, что структура вашего кода также будет намного понятнее, если вы правильно выстроите отступы.)