there are different format of "versioning". If you have consistent names for versions such as the sample, here's an alternative solution done in Python (on windows)
import glob,os
os.chdir(os.path.join("C:\\","test"))
for files in glob.glob("*.rar"): #get rar files
filename = os.path.splitext(files)
ext=filename[-1]
thefile = filename[0]
if "v" in thefile: #if there is version, check where the letter "v" is
ind = thefile.index("v")
change = thefile[:ind].replace("."," ").replace("_"," ")+thefile[ind:].replace("_","")+ext
else:
change = thefile.replace("."," ").replace("_"," ")+ext
os.rename(files,change)
output
C:\test>dir /B window*rar
windows_media.player_12.rar
windows_media.player_12_v1.23.rar
C:\test>python test.py
C:\test>dir /B window*rar
windows media player 12 v1.23.rar
windows media player 12.rar