Batch generate preview/thumbnail image for old files?
Thumbnail extraction via Python

The most current thumbnailer is maintained by ideasman42:

https://github.com/dfelinto/blender-git/blob/master/release/bin/blender-thumbnailer.py

It extracts thumbnail that is stored in a blend file for use with a file manager.

Usage: blender-thumbnailer.py &lt;input.blend&gt; &lt;output.png&gt;

e.g.

python blender-thumbnailer.py test.blend test.png


Batch rendering via command line

Alternatively you could batch process the .blend files from a .bat file:

for %%f in (*.blend) do (
            blender %%~nf.blend -b -o //%%~nf -F PNG -x 1 -f 1
)


See also the documentation of command line parameters.

In order to set a fixed thumbnail size you would (probably) invoke a python script (-P script_name.py) that sets the render size.

Something like this size.py (didn't work for me):

import bpy  

bpy.data.scenes[0].render.resolution_x = 128
bpy.data.scenes[0].render.resolution_y = 128
bpy.data.scenes[0].render.resolution_percentage = 100


In Blenders installation directory is a file "BlendThumb64.dll" which is registered during installation or 

C:\Program Files\Blender Foundation\Blender&gt;blender -R
Registering file extension...success (user)


Running as administrator would register .blend for all users.

I'm not sure whether this is related: In C:\Users\&lt;username&gt;\.thumbnails\normal and C:\Users\&lt;username&gt;\.thumbnails\fail\blender you can find created (or failed) thumbnails.

Load, render and save

import bpy
import os

filepath = bpy.data.filepath
directory = os.path.dirname(filepath)
image_path = os.path.join( directory , "image.png")
bpy.data.scenes['Scene'].render.filepath = image_path
bpy.ops.render.render( write_still=True ) 
print("file %s" % filepath )
bpy.ops.wm.save_as_mainfile(filepath=filepath)


blender -b test.blend -P save.py (above script, didn't recreate the embedded thumbnail)