You could use ImageMagick, which is installed on most Linux distros and available for OS X, all good OSes and Windows from here.
So, if you have an image like this:

the code to add a label would be pretty easy like this:
convert image.jpg -gravity center -background lime -fill yellow -stroke black -pointsize 36 label:"My Photo" -append result.jpg

I am not suggesting that is a good colour scheme, I am just showing you how/where to set the colours, and you can change them as you wish. If you now run the same code on a different size image like this:

you will get this:

There are countless examples here.
Please copy some of your images to a test folder and practice with the code below in there so you don't mess up your original photos. As I said, I don't really "do" Windows, but the code will look like this to do all the PNG
and JPG
files in a directory:
for %a in (*.PNG *.JPG) do convert "%a" -gravity center -background lime -fill yellow -stroke black -pointsize 36 label:"My Photo" -append "%a"
There are some good examples of using FOR
loops here.