Beispiel #1
0
        //backup files
        public static void BackupFiles(string sFolderPath)
        {
            var dontAskAgain  = false;
            var yesNo         = false;
            var deleteBackups = false;
            var iStep         = 0;

            RefreshInfo(sFolderPath, false, false);

            MainForm.Log_WriteLine("-----");
            MainForm.Log_WriteLine("Starting backup of " + backupList.Count + " files");
            MainForm.Log_WriteLine("-----");

            foreach (var s in backupList)
            {
                var sBackupFile  = s.Replace(".ddsified", "");
                var sDDSToDelete = Path.ChangeExtension(sBackupFile, "dds");

                if (File.Exists(sDDSToDelete))
                {
                    File.Delete(sDDSToDelete);
                }

                if (File.Exists(sBackupFile))
                {
                    if (!dontAskAgain)
                    {
                        var dialog = new OverwriteFileDialog();

                        yesNo = (dialog.CustomShowDialog(sBackupFile, out dontAskAgain, ref deleteBackups) == DialogResult.Yes);
                    }

                    if (yesNo)
                    {
                        File.Delete(sBackupFile);
                        File.Move(s, sBackupFile);

                        MainForm.Log_WriteLine("Reverting " + sDDSToDelete + " to " + sBackupFile);
                    }
                    else
                    {
                        if (deleteBackups)
                        {
                            File.Delete(s);
                        }

                        MainForm.Log_WriteLine("Skipping backup of " + sBackupFile);
                    }
                }
                else
                {
                    File.Move(s, sBackupFile);
                    MainForm.Log_WriteLine("Reverting " + sDDSToDelete + " to " + sBackupFile);
                }

                iStep += 1;

                MainForm.ReportProgress(Convert.ToInt32((iStep / backupList.Count) * 100), "Reverting " + Path.GetFileName(sBackupFile) + ", file " + iStep + "\\" + backupList.Count);
                MainForm.Log_WriteLine("---");
                Application.DoEvents();
            }

            MainForm.Log_WriteLine("-----");
            MainForm.Log_WriteLine("Backup done! " + backupList.Count + " files processed.");
            MainForm.Log_WriteLine("-----");
        }