De acordo com o meu conhecimento, você não tem permissão para usar espaços em nomes de arquivos em um script em lote. Isso porque ele vai considerar o texto após o espaço como um novo argumento, que é onde aspas chegam. Acho que essa questão no estouro de pilha pode ajudar com a formatação para isso.
Então, para testar isso, criei um arquivo chamado "teste 2" na minha área de trabalho. Para apagar o arquivo, eu corri o seguinte comando no cmd:
del "C:\Users\Daedalus\Desktop\Test 2.txt"
Eu não precisei usar o símbolo $.