Non so se con forfiles sia possibile escludere determinati file. Temo di no.

Se puoi ricorrere a metodi alternativi ti consiglio di utilizzare la powershell con la quale ti semplificherai la vita enormemente.

Ti posto un esempio

codice:
gci "C:\tuo_path\prova" -rec | ? {!$_.psiscontainer -and $_.extension -ne ".txt"} | ri -whatif
con questo codice verrebbe ciclata in maniera ricorsiva la cartella prova lasciando intatti i file txt e le cartelle. Lo switch -whatif ti avvisa di tutti i file che verrebbero eliminati.
Per rendere esecutivo il comando basta rimuoverlo.