Eu uso isso no Windows XP e no Windows 7 para definir uma variável para qual caminho usar. Neste código AUDESKTOP
é definido dependendo de qual sistema operacional está sendo executado.
IF DEFINED PUBLIC (SET AUDESKTOP=%PUBLIC%\Desktop) ELSE (SET AUDESKTOP=%ALLUSERSPROFILE%\Desktop)
Em seguida, chame a variável na linha de comando assim:
copy /Y "path\to\the\link.lnk" "%AUDESKTOP%\link.lnk"
Quanto aos erros no Windows 7, verifique se há citações em torno dos caminhos. Se ainda assim não funcionar, tente run as administrator
.