I recently upgraded from Vista ME to Windows 7 MCE and everything works well, except for Lifextender (which uses Comskip) which only works with the older .drv-ms file format and doesn’t support the newer .wtv format that Windows 7 records in. Lifextender was a pretty cool and very simple program that would remove all adverts from .dvr-ms files, thus shrinking the file size and getting rid of annoying adverts, double win.
I struggled to get a copy of Lifextender as the site doesn’t seem to exist anymore and I didn’t want to install the CNET rubbish, anyway I got hold of a copy and you can download it here if you like (Take another look at the buy me a beer box on the right!)
In Windows 7, right clicking on a .wtv file gives you the option to convert to .dvr-ms but doing this manually is time consuming, and time is money.
After a bit of digging, it seems that this option just runs c:\Windows\ehome\WTVConverter.exe against the selected file, so I put this script (below) together to do all the hard work for me. It scans the specified root folder, and all it’s subdirectories, finds any .wtv files, converts them to .dvr-ms and the deletes the original .wtv file. All pretty straight forward. Everything is logged so you can keep an eye on it too.
'ConvertWTV2DVRMS 'Dave Harris '08/06/2012 'http://dave.harris.uno 'Free for anyone to us eand modify as they wish. If it's helpful, buy me a beer (See donation button on blog!) 'So this goes throught the scpecified directory and all sub folders, finds .wtv files and converts them to .dvr-ms 'and then deletes the original file, simples. '-START---------------------------------------- Set objFSO = CreateObject("Scripting.FileSystemObject") Const ForAppending = 2 Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject") LogFile = "c:\ConvertWTV2DVRMS.log" Dim objLogFile:Set objLogFile = objFSO.CreateTextFile(logfile, 2, True) 'Root of where you want to start objStartFolder = "F:\" Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Set objShell = CreateObject("WScript.Shell") Set objFolder = objFSO.GetFolder(objStartFolder) Set colFiles = objFolder.Files For Each objFile in colFiles Next ShowSubfolders objFSO.GetFolder(objStartFolder) Sub ShowSubFolders(Folder) For Each Subfolder in Folder.SubFolders Set objFolder = objFSO.GetFolder(Subfolder.Path) Set colFiles = objFolder.Files For Each objFile in colFiles 'if its a .wtv file if (right(objFile.Name,3)="wtv") then myfilename = objFile.Name objLogFile.Writeline(Now()&" Converting "& myfilename) 'use the built in converter to convert it to .dvr-ms objShell.Run "c:\windows\ehome\WTVconverter.exe """ & Subfolder.Path & "\" & objFile.Name & """", 1, true objLogFile.Writeline(Now()&" Converted "& myfilename) 'now delete the .wtv original file fso.deletefile Subfolder.Path & "\" & objFile.Name, true objLogFile.Writeline(Now()&" Deleted "& myfilename) objLogFile.Writeline("-------------------------") end if Next ShowSubFolders Subfolder Next End Sub objLogFile.Close '-END----------------------------------------