Haven't tried it myself but there are examples of running batch files from C# in google. So in theory, in the K2 process if you add a default server event to an activity and go to the code level you could try implementing those approaches:
http://www.codeproject.com/Questions/318373/run-the-batch-file-code-in-Csharp
http://stackoverflow.com/questions/14498206/running-batch-file-with-arguments-from-c-sharp
Using the Endpoints Assembly SmartObject broker, you can create SmartObjects against code that you write. We do this extensively where there are complicated operations that need to be performed in other business systems.
Here is a link to help file on the Endpoint Assembly broker. Unfotunately there isn't any example code. Suffice it to say you just need to create public methods in your assembly, stick it in K2 and you can start creating SmartObjects against the assembly.