Then, I run this bat once and it works indefinitely. Is this the correct way to do this?
That's a question for you, not for us. We do not know, what you want to do.
Also, if a file is too large and doesn't finish in 120 seconds, will it be a problem in the next run?
No. It waits 120 seconds between the rounds. It does not limit a duration of a round.