set UserDesktop=%UserProfile%\Desktop
if exist %Public% (
set SharedDesktop=%Public%\Desktop
) else (
set SharedDesktop=%AllUsersProfile%\Desktop
)
Так что теперь вы можете использовать локальные переменные
%UserDesktop%
и %SharedDesktop%
Первый случай SharedDesktop предназначен для Vista, а выше - для XP
ps: перед использованием этих переменных вы должны заключить в кавычки "% UserDesktop%", потому что имя пользователя должно содержать пробелы, например ... \ Bill Gates \ ... или \ Documents and settings \ ...