How do I show a message about the currently executed operation?
The message will be shown just when the batch callback returns. If your intent is pausing the batch operations to let users see the pre-execution message, I would rather use the following code.

function batch_callback(&amp;$context) {
  if (empty($context['sandbox'])) {
    $context['message']  = t('Pre-execution message...');
    $context['finished'] = FALSE;
    $context['sandbox']['step'] = 1;

    return;
  }
  elseif ($context['sandbox']['step'] == 1) {
    sleep(5);
  }
  // Do your operations.
}


You could also set the progress message using $batch_definition['progress_message'] (where $batch_definition is the value passed to batch_set(), but that just gets @current, @remaining, @total, @percentage, @estimate and @elapsed as placeholders. You could not use it to show, for example, the title of the node being processed, since it doesn't allow to use a custom placeholder. It is used more for messages like Completed @current of @total.