Script em lote - concatena números sequenciais em arquivos para manter os nomes exclusivos

Eu estou trabalhando em um script para copiar arquivos em uma pasta que corresponde ao nome do arquivo e eu tenho essa parte trabalhada usando um loop FOR que verifica se a pasta de destino existe e copia os arquivos depois de ter verificado que ele faz . Exemplo: 11-01111_ABC_DEF.pdf iria para / 11/0111 /. O comprimento pode variar em um ou dois caracteres, mas o formato é consistente. Eu copiei meu script básico abaixo.

Meu problema é que, às vezes, um arquivo com o mesmo nome precisa ser processado. Como eu poderia ir sobre a concatenação de um número para o final do arquivo, se uma ou mais cópias do arquivo já existe na pasta de destino?

setlocal enableextensions enabledelayedexpansion
for %%x in (*.PDF *.TXT) do (
  set "source="C:\files"
  set "dest=R:\"  
  set "filename=%%x"
  set "prefix=!filename:~0,2!"
  set "folder=!filename:~3,5!"

  if not exist !dest!\!prefix!\!folder! MOVE !filename! !source!\failed 
  if exist !source!\!filename! MOVE !filename! !dest!\!prefix!\!folder! 
)

questionAnswers(2)

yourAnswerToTheQuestion