Using batch api without a form
Based from the first sample code found in Drupal's Batch API page, it says,


  If this function was called from a form submit handler, stop here,
  FAPI will handle calling batch_process(). If not called from a submit
  handler, add the following, noting the url the user should be sent to
  once the batch is finished.


And that we need to add the batch_process('node/1'); (still based from the sample code). So you just need to add this line of code with the Drupal path where you want the user to be redirected after the batch process after the batch_set() line.

The die() line also isn't needed anymore based on the sample code. I have also tested your code on my local D7 site with the batch_process() addition.

Unrelated Update

In your for loop declaration for ($i = 0; $i &lt; $max; $i = $i + $increment), I noticed that the afterthought section doesn't increment the loop because the variables $i and $increment has no incremental operation.