Echo Y| cacls %userprofile%\desktop /P %username%:R save this in to .bat file and run as administrator..DONE
Since %UserProfile% and %UserName% can have embedded spaces, you should surround both with double quotes in order to make your script robust. Furthermore, by giving users read-only access to their own desktop, your popularity rating is likely to drop dramatically.
"Full access" might be more appropriate.
echo Y| cacls "%userprofile%\desktop" /G "%username%":F