Это не то, как работает символическая ссылка.
То, что вы хотите сделать, не представляется возможным напрямую, но есть методы, которые вы можете использовать, которые похожи.
Например, в эту папку можно поместить файл .cmd, который изменит папку на новую, а затем ввести имя файла .cmd, чтобы перейти в другую папку. Если вы храните этот файл .cmd в папке, которая также указана в переменной среды% PATH%, вы можете ввести имя этого cmd в любом месте, чтобы перенаправить его в эту новую папку.
.Cmd будет просто содержать команду cd. Пример:
::cd_link_name.cmd cd /d c:\some\path
Недостатком является то, что ни одна программа не перейдет по этой ссылке.
Если вы хотите, чтобы программа следовала по ссылке, вам действительно нужен mklink для создания соединения, и да, это будет означать, что для системы виртуальная папка, кажется, находится в месте соединения, но она действительно перенаправляет. Там просто нет возможности обойти это.
Тем не менее, если ваша цель состоит в том, чтобы просто иметь возможность быстро перемещаться по избранным папкам из командной строки, рассмотрите возможность записи глобального пакетного файла, который вы храните в месте, указанном в% PATH%, и позвольте этому изменить папку для вас.
Примером такого cmd-файла будет:
:: cdf.cmd @echo off :: lets see if the first parameter is recognized. If so, change folder. :: note, you can't use spaces in these identifiers, but you can keep them :: short and to the point. :: c forwards to c:\ if "%1"=="c" cd /d c:\ :: desk forwards to your Desktop folder if "%1"=="desk" cd /d %USERPROFILE%\desktop ::docs forwards to your My Documents folder if "%1"=="docs" cd /d %USERPROFILE%\Documents ::a1 forwards to e:\some\path\special if "%1"=="a1" cd /d e:\some\path\special
и так далее....
Вы можете сделать это:
C:\Windows\System32>cdf a1 E:\Some\Path\Special>cdf desk C:\Users\Username\Desktop>_
Кстати, я назвал его cdf для: Изменить каталог избранных. :) Но любое имя подойдет, конечно.