Earlier quoted context omitted.
I suspect that you could probably also manage it with GIMP/guile, but I don't suspect it would be particularly pleasant.
If you want to script it, ImageMagick or GraphicsMagick are probably a better bet than trying to hack up something with GIMP batch processing: http://www.imagemagick.com/www/formats.html If you just want to do basic conversion ignoring layers, it's quite easy: for f in *.psd; do convert "$f" "${f%%.psd}.png" done
find . -iname "*.psd" -print0 | xargs -0 -P 4 -n 1 -I I convert I I.png
For best results, change the number "4" in the above command to the number of cores you have.