//Microsoft Public License (Ms-PL)
//http://visualizer.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Diagnostics;
namespace Redwerb.BizArk.Core.Util
{
/// <summary>
/// Provides methods that are useful when working with files and directories.
/// </summary>
public static class FileUtil
{
/// <summary>
/// Removes a directory as best as it can. Errors are ignored.
/// </summary>
/// <param name="dirPath"></param>
public static void RemoveDirectory(string dirPath)
{
foreach (string childDirPath in Directory.GetDirectories(dirPath))
RemoveDirectory(childDirPath);
foreach (string filePath in Directory.GetFiles(dirPath))
{
try
{
File.Delete(filePath);
}
catch (Exception ex)
{
Debug.WriteLine("Unable to delete " + filePath + ": " + ex.Message);
}
}
try
{
Directory.Delete(dirPath);
}
catch (Exception ex)
{
Debug.WriteLine("Unable to delete " + dirPath + ": " + ex.Message);
}
}
}
}
|