Stopwatch sw = new Stopwatch();
VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog();
dialog.ShowDialog();
string root = dialog.SelectedPath;
string output = Path.GetTempFileName() + ".txt";
uint files = 0;
using (StreamWriter writer = new StreamWriter(output))
{
sw.Start();
foreach (FileInfo fi in new DirectoryInfo(root).EnumerateFiles("*", SearchOption.AllDirectories))
{
files++;
writer.WriteLine("{0}|{1}|{2}", fi.FullName, fi.LastWriteTime, fi.Length);
}
sw.Stop();
writer.WriteLine("Time: {0}", sw.Elapsed);