Você pode solicitar que o usuário insira uma string com o / p-flag no comando set, por exemplo:
set /p targetuser="Enter target username: "
xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\Users\%targetuser%\Desktop"
Para uso em scripts, geralmente é vantajoso evitar a interrupção da entrada do usuário. A seguinte linha usaria o primeiro parâmetro fornecido ao seu arquivo de lote e executaria sem interrupções:
xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\Users\%~1\Desktop"