@Fox раньше делал метку на начало скрипта после сброса, а это перед циклом while, поэтому он сбрасывал счётчик, теперь понял, что операции надо повторять внутри цикла, чтобы не сбить счётчик.
@Dasium в первом предложении имел в виду сохранить содержимое файла в список перед началом цикла, а потом его использовать N-ное количество раз. Но для большого количества файлов немного немного неудобный способ, так как придется создавать столько же списков. Почему-то сразу об этом не подумал...