public static void DeleteFile(string FilePath) { ConsoleUtils.RetryLoop(() => { File.Delete(FilePath); }, "Couldn't access file: '" + FilePath + "'", true); }
public static void CreateZipFromDirectory(string SourceDirectory, string DestinationArchiveFileName, bool IncludeBaseDirectory) { ConsoleUtils.RetryLoop(() => { ZipFile.CreateFromDirectory(SourceDirectory, DestinationArchiveFileName, CompressionLevel.Optimal, IncludeBaseDirectory); }, "Couldn't create zip", true); }
public static void DeleteDirectory(string target_dir) { //if (target_dir.Length < 2 || !target_dir.StartsWith(@"\\")) //{ // target_dir = @"\\?\" + target_dir; //} string[] files = { }; ConsoleUtils.RetryLoop(() => { files = Directory.GetFiles(target_dir); }, "Couldn't access directory: '" + target_dir + "'", true); string[] dirs = Directory.GetDirectories(target_dir); foreach (string file in files) { File.SetAttributes(file, FileAttributes.Normal); //Console.WriteLine("Deleting file: " + file); ConsoleUtils.RetryLoop(() => { File.Delete(file); }, "Couldn't delete file", true); } foreach (string dir in dirs) { DeleteDirectory(dir); } //Console.WriteLine("Deleting directory: " + target_dir); ConsoleUtils.RetryLoop(() => { Directory.Delete(target_dir, true); }, "Couldn't delete directory", true); }