Check out this code project article showing you how to do batch image processing in C#. Its multithreaded (which is always a good thing) and also has support for water marks. Very handy stuff.