Запуск с помощью 'bat' означает, что это команда Windows, поэтому Windows вообще не знает, что такое:
$(docker ps -a -q)
, поскольку это linux (bash / sh) синтаксис!
Вы должны заменить его на что-то вроде этого:
bat '''
FOR /F "tokens=* USEBACKQ" %%F IN (`docker ps -a -q`) DO (
SET var=%%F
)
docker rm -f %var%
'''
Или любой трюк Windows, который поместит вывод первой команды docker в и используйте его для удаления контейнера.