Minimally working end-to-end example of drush batch job execution
I've written drush CLI commands. I've also written some Batch API processes. On each individual topic you've asked about there is alot of documentation.

I'm not sure why you want to use the Batch API specifically via Drush. The Batch API in part is used to avoid HTTP request timeout in long PHP processes. If you're using Drush from the command line -- you have no max_execution_time to worry about from php.ini essentially ...


How to use the Queue API (and Batch) from DrupalCampLA2012 I attended


which goes to the actual link for the slides

A batch tutorial from March 2012 I have have referenced in creating my own BatchAPI stuff in the past (site db was down so I linked to a google cache page)


EDIT: Have you looked into the Migrate source to see how they run Batch stuff from drush cli?