2013-04-07 10:58:58 +01:00
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using SharpCompress.Common;
|
|
|
|
|
|
|
|
|
|
|
|
namespace SharpCompress.Archive
|
|
|
|
|
|
{
|
|
|
|
|
|
public static class IArchiveExtensions
|
|
|
|
|
|
{
|
2013-04-28 13:01:29 +01:00
|
|
|
|
#if !PORTABLE && !NETFX_CORE
|
2013-04-07 10:58:58 +01:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Extract to specific directory, retaining filename
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public static void WriteToDirectory(this IArchive archive, string destinationDirectory,
|
2013-04-28 12:32:55 +01:00
|
|
|
|
ExtractOptions options = ExtractOptions.Overwrite)
|
2013-04-07 10:58:58 +01:00
|
|
|
|
{
|
|
|
|
|
|
foreach (IArchiveEntry entry in archive.Entries.Where(x => !x.IsDirectory))
|
|
|
|
|
|
{
|
|
|
|
|
|
entry.WriteToDirectory(destinationDirectory, options);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
}
|
2013-04-28 12:32:55 +01:00
|
|
|
|
}
|