public void Load() { Queue <BkDir> queue = new Queue <BkDir>(); queue.Enqueue(this); while (queue.Count > 0) { BkDir dir = queue.Dequeue(); if (dir == null || dir.Info == null) { continue; } var subDirs = dir.Info.GetDirectories(); foreach (DirectoryInfo dirInfo in subDirs) { BkDir tempDir = new BkDir(dirInfo); dir.BkDirs.Add(tempDir); queue.Enqueue(tempDir); } var subFiles = dir.Info.GetFiles(); foreach (FileInfo fileInfo in subFiles) { BkFile tempFile = new BkFile(fileInfo); dir.BkFiles.Add(tempFile); } } }
private void buttonBackup_Click(object sender, EventArgs e) { BkDir dir = new BkDir(textBoxBackupPath.Text); dir.Load(); }