Yup - one should always use the following syntax when referencing the current user's profile ...

shell '%comspec% /c "%userprofile%\desktop\printers\T3Blac~1.lnk"'

Anyway... what's the value of @ERROR after your shell command ?

Shawn.