Нужна
подпрограмма для Преобразование пути со ссылками (Junction Points и Symbolic Links) (также известные как "точки повторного анализа").
Берем любой путь, где могут быть папки-ссылки или в конце, и/или в середине и
преобразуем его в "реальный путь", где только "физические" <DIR> папки.
Код:

set "SomePathMayBeWithLinks=c:\name\link\nameM\linkN\"
set "RealPath=not yet conversion"
call :ConversionPath "%SomePathMayBeWithLinks%" "RealPath"
echo. исходный путь: "%SomePathMayBeWithLinks%"
echo. реальный путь: "%RealPath%"
goto :EoF
:ConversionPath
...
:: допишите, плиз, недостающее
set "%~2=..."
exit /b 0
Я, кроме как
парсить dir /AL , не вижу решения, но в нем не силен

Понял лишь, что разбирать достаточно с конца.
(команда dir выводит вариации ссылок как <JUNCTION>, <SYMLINK>, <SYMLINKD>)
Прошу учесть особенность - в именах моих папок и ссылок встречаются "неприличные" строковые-bat-символы & % ^ !, разрешенные в именах папок (
запрещенка как я тут видел термин), и,
последняя капелька дегтя, - символы [ ] ,которые в именах могут быть (в листинге dir сам ссылаемый путь заключен в эти квадратные скобки).
PS как любитель Far, пока справляюсь его встроенной такой функцией (например, преобразованный в реальный, путь из неактивной панели !#!=\), но нужна независимость 