Renomear arquivos ordinal extenso

Tenho vários arquivos em várias pastas com o seguinte nome

questão n.º 2 - Parte (1)

questão n.º 2 - Parte (2)

questão n.º 2 - Parte (3)

Questão n.º 2 - Parte (10)

Preciso substituir o que tá depois do “-” por Primeira Parte, Segunda Parte, Terceira Parte, de acordo com o que está em (1), (2), (3). Então, ficaria assim:

questão n.º 2 - Primeira Parte

questão n.º 2 - Segunda Parte

questão n.º 2 - Terceira Parte

questão n.º 2 - Décima Parte

Tem um número limitado de partes?
Se sim, creio que você tenha que fazer “na unha”, um método que devolva isso.
Se não tiver, então, creio que não exista solução, afinal, como vai colocar - ducentésima nonagésima terceira?

até 20 partes.

Dá uma olhada

public class Ordinal {
    public String processaOrdinal(int pos) {
        switch(pos) {
            case 1: return "Primeira";
            case 2: return "Segunda";
            case 3: return "Terceira";
            case 4: return "Quarta";
            case 5: return "Quinta";
            case 6: return "Sexta";
            case 7: return "Sétima";
            case 8: return "Oitava";
            case 9: return "Nona";
            case 10: return "Décima";
            case 20: return "Vigésima";
            default: return " ";
        }
    }
    
    public String verificaPosicao(int pos) {
        String posicao = "";
        if(20 == pos || 10 == pos) {
            posicao = processaOrdinal(pos);
        } else if(pos > 10){
            posicao += processaOrdinal(10) + " ";
            posicao += processaOrdinal(pos - 10);
        } else {
            posicao += processaOrdinal(pos);
        }
        return posicao;
    }
    
    public static void main(String[] args) {
        Ordinal o = new Ordinal();
        System.out.println(o.verificaPosicao(1) + " parte");
        System.out.println(o.verificaPosicao(3) + " parte");
        System.out.println(o.verificaPosicao(4) + " parte");
        System.out.println(o.verificaPosicao(8) + " parte");
        System.out.println(o.verificaPosicao(10) + " parte");
        System.out.println(o.verificaPosicao(14) + " parte");
        System.out.println(o.verificaPosicao(20) + " parte");
    }
}