Conforme comentado, você pode obter as partes da data por extração:
:: 0123456789 offset table
:: 12/01/2018 example of %DATE%, dependent on locale/country
set YYYY=%DATE:~6,4%
set DD=%DATE:~0,2%
set MM=%DATE:~3,2%
echo hello > %DD%_%MM%_%YYYY%.txt
Os erros que você recebe são causados por barras na saída %DATE%
.
Essas barras não são toleradas dentro de nomes de arquivos.