Você precisa colocar aspas duplas ( "
) em seus caminhos que contêm ou podem conter espaços ou outros caracteres especiais. Para ser seguro, eu sempre cito todos os caminhos em scripts, apenas no caso. Além disso, você deseja remover as cotações dos valores das variáveis que posteriormente serão componentes em outros caminhos. Então, remova as aspas da linha set date
e adicione-as às próximas duas linhas.
Portanto, o seu script deve ser:
@echo off
set date=%date:~7,2%-%date:~4,2%-%date:~10,4%
mkdir "%USERPROFILE%\My Documents\%date%"
copy "%USERPROFILE%\desktop\*.txt" "%USERPROFILE%\My Documents\%date%"
pause