Skrypt wsadowy - łącz sekwencyjne numery na plikach, aby zachować unikalność nazw

Pracuję nad skryptem do kopiowania plików w folderze, który odpowiada nazwie pliku i mam tę część opracowaną przy użyciu pętli FOR, która sprawdza, czy folder docelowy istnieje i kopiuje pliki po zweryfikowaniu, że to robi . Przykład: 11-01111_ABC_DEF.pdf przejdzie do / 11/0111 /. Długość może się różnić o jeden lub dwa znaki, ale format jest spójny. Skopiowałem mój podstawowy skrypt poniżej.

Moim problemem jest to, że czasami trzeba przetworzyć plik o tej samej nazwie. Jak mogę połączyć konkatenację numeru z końcem pliku, jeśli jedna lub więcej kopii pliku już istnieje w folderze docelowym?

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