123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using DevExpress.Mvvm.Native;
- using DevExpress.XtraEditors;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;//获取文件信息
- using System.Runtime.InteropServices;
- namespace NewArchivesCenter
- {
- public partial class Backups : DevExpress.XtraEditors.XtraUserControl
- {
- public Backups()
- {
- InitializeComponent();
- listView1.View = View.Details;
- listView1.Columns.Add("备份时间", 215);
- listView1.Columns.Add("大小(MB)", 65);
- listView1.Columns.Add("占比(%)", 60);
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- if (listView1.Items.Count > 0) button4.Enabled = true;
- else button4.Enabled = false;
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- }
- private long GetDirectorySize(DirectoryInfo directoryInfo)
- {
- long size = 0;
- FileInfo[] files = directoryInfo.GetFiles();
- size += files.Sum(file => file.Length);
- DirectoryInfo[] subDirs = directoryInfo.GetDirectories();
- size += subDirs.Sum(dir => GetDirectorySize(dir));
- return size;
- }
- private static long GDL(string dirPath)
- {
- long len = 0;
- DirectoryInfo dir = new DirectoryInfo(dirPath);
- foreach (FileInfo file in dir.GetFiles())
- {
- len += file.Length;
- }
- DirectoryInfo[] directoryInfos = dir.GetDirectories();
- if (directoryInfos.Length > 0)
- {
- for (int i = 0; i < directoryInfos.Length; i++)
- {
- len +=
- GDL(directoryInfos[i].FullName);
- }
- }
- return len;
- }
- private void button1_Click(object sender, EventArgs e)
- {
- }
- string Password = "fbHQb7L9ODdO9pyPB4cDaMtiW7AgYKJLmQb7FewTiJZhyQwzCJucVf4scvQt7R6b";
- private void button2_Click(object sender, EventArgs e)
- {
- string T = DateTime.Now.ToString("yyyy'.'MM'.'dd'T'HH'.'mm'.'ss'.'fffffffzz");
- SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Password);
- string folderToDelete = Path.GetTempPath() + @"ArchivesCenter";
- DeleteFolderWithAdminRights.DeleteFolder(folderToDelete);
- Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T);
- if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted"))
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Users.encrypted");
- if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted"))
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Data.encrypted");
- File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted");
- File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted");
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + listView1.SelectedItems[0].Text + @"\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted");
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + listView1.SelectedItems[0].Text + @"\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted");
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- if (listView1.Items.Count > 0) button4.Enabled = true;
- else button4.Enabled = false;
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- MessageBox.Show("还原操作已成功执行,立即重启", "Archives Center", MessageBoxButtons.OK, MessageBoxIcon.Information);
- DeleteFolderWithAdminRights.DeleteFolder(Path.GetTempPath() + @"ArchivesCenter");
- Environment.Exit(0);
- }
- private void button3_Click(object sender, EventArgs e)
- {
- if (MessageBox.Show("此操作不可逆,确认删除此备份?", "删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
- {
- if (MessageBox.Show("此操作不可逆,确认删除此备份?\n这是最后一次确认", "二次删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
- {
- Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + listView1.SelectedItems[0].Text, true);
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- if (listView1.Items.Count > 0) button4.Enabled = true;
- else button4.Enabled = false;
- button2.Enabled = false;
- button3.Enabled = false;
- }
- }
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- }
- private void button4_Click(object sender, EventArgs e)
- {
- if (MessageBox.Show("此操作不可逆,确认删除全部备份?", "删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
- {
- if (MessageBox.Show("此操作不可逆,确认删除全部备份?\n这是最后一次确认", "二次删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
- {
- Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\", true);
- Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- button2.Enabled = false;
- button3.Enabled = false;
- button4.Enabled = false;
- }
- }
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- }
- private void listView1_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (listView1.SelectedItems.Count > 0)
- {
- button2.Enabled = true;
- button3.Enabled = true;
- }
- else
- {
- button2.Enabled = false;
- button3.Enabled = false;
- }
- }
- private void button1_Click_1(object sender, EventArgs e)
- {
- string T = DateTime.Now.ToString("yyyy'.'MM'.'dd'T'HH'.'mm'.'ss'.'fffffffzz");
- Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T);
- if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted"))
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Users.encrypted");
- if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted"))
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Data.encrypted");
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- button2.Enabled = false;
- button3.Enabled = false;
- button4.Enabled = true;
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- }
- private void button2_Click_1(object sender, EventArgs e)
- {
- string T = DateTime.Now.ToString("yyyy'.'MM'.'dd'T'HH'.'mm'.'ss'.'fffffffzz");
- SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Password);
- string folderToDelete = Path.GetTempPath() + @"ArchivesCenter";
- DeleteFolderWithAdminRights.DeleteFolder(folderToDelete);
- Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T);
- if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted"))
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Users.encrypted");
- if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted"))
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Data.encrypted");
- File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted");
- File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted");
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + listView1.SelectedItems[0].Text + @"\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted");
- File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + listView1.SelectedItems[0].Text + @"\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted");
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- if (listView1.Items.Count > 0) button4.Enabled = true;
- else button4.Enabled = false;
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- MessageBox.Show("还原操作已成功执行,立即重启", "Archives Center", MessageBoxButtons.OK, MessageBoxIcon.Information);
- DeleteFolderWithAdminRights.DeleteFolder(Path.GetTempPath() + @"ArchivesCenter");
- Environment.Exit(0);
- }
- private void button3_Click_1(object sender, EventArgs e)
- {
- if (MessageBox.Show("此操作不可逆,确认删除此备份?", "删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
- {
- if (MessageBox.Show("此操作不可逆,确认删除此备份?\n这是最后一次确认", "二次删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
- {
- Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + listView1.SelectedItems[0].Text, true);
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- if (listView1.Items.Count > 0) button4.Enabled = true;
- else button4.Enabled = false;
- button2.Enabled = false;
- button3.Enabled = false;
- }
- }
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- }
- private void button4_Click_1(object sender, EventArgs e)
- {
- if (MessageBox.Show("此操作不可逆,确认删除全部备份?", "删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
- {
- if (MessageBox.Show("此操作不可逆,确认删除全部备份?\n这是最后一次确认", "二次删除确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
- {
- Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\", true);
- Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- listView1.Items.Clear();
- DirectoryInfo dirInfo = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- DirectoryInfo[] subDirs = dirInfo.GetDirectories();
- long totalSize = subDirs.Sum(d => GetDirectorySize(d));
- foreach (DirectoryInfo dir in subDirs)
- {
- long dirSize = GetDirectorySize(dir);
- double dirSizeMB = dirSize / (1024.0 * 1024.0);
- double percentage = totalSize > 0 ? (dirSize * 100.0 / totalSize) : 0;
- ListViewItem item = new ListViewItem(new string[]
- {
- dir.Name,
- dirSizeMB.ToString("F2"),
- percentage.ToString("F2")
- });
- listView1.Items.Add(item);
- }
- button2.Enabled = false;
- button3.Enabled = false;
- button4.Enabled = false;
- }
- }
- long Sz = GDL(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\");
- long SSz = Sz / 1024;
- long SSSz = SSz / 1024;
- label2.Text = "全部备份文件大小:" + SSSz + "MB";
- }
- }
- }
|