#!/usr/bin/ruby
require 'fileutils'
FileUtils.mkdir('backup')
Dir.glob('*.emlx') do |filename|
outfile = File.open(filename+'.temp', 'w')
infile = File.open(filename, 'r')
flags = false
infile.each do |line|
if flags
flags = false
number = line.scan(/\d+/)[0].to_i
# now actually undelete it
number &= ~0x02
# write out the modified line
outfile.write "\t#{number}\n"
else
outfile.write line
end
if line =~ /\flags\<\/key\>/
flags = true
end
end
outfile.close
infile.close
FileUtils.mv(filename, "backup/#{filename}")
FileUtils.mv(filename+".temp", filename)
end