Vedi sopra. La ricorsione nel comando FOR funziona perfettamente: gli errori sono dovuti al fatto che la shell usa variabili segnate a 32 bit, da cui il limite di 2GiB. La forma /f attua addirittura un parsing, ed è ancora più farraginosa e complessa... ma non risolve in alcun modo il problema. Per questo non posso che ribadire il consiglio fondamentale: usare un tool CLI apposito, oppure passare ad una shell alternativa che non abbia tali limiti.