Isso acontece quando você usa um programa para iniciar o arquivo em lotes e o arquivo em lote não está chamando cmd.exe / c primeiro. Não há pushd.exe, é um comando interno em cmd.exe. Mas quando seu programa chama seu arquivo de lote, ele está iniciando diretamente - não há cmd.exe. (Sim, isso é estranho).
A solução: Onde quer que você esteja executando isso, preceda-a com cmd.exe / c
Então, se você estiver executando deletelittlefiles.bat, altere-o para cmd.exe / c deletelittlefiles.bat.
Fonte: Sou gerente de laboratório de uma equipe de testes de software e nosso equipamento de teste pode, mas não precisa executar as coisas sem iniciá-las em cmd.exe.