private void startBtn_Click() { SetYellowLbl(); SelectConditions(); AcDirs.Clear(); AcFiles.Clear(); Directory.CreateDirectory(CPath); GetAccessibleDirs(new DirectoryInfo(SPath)); FolderCountLbl = AcDirs.Count(); foreach (var dir in AcDirs) { if (Blocked) { break; } var temp = SelectFiles(); if (temp.Count > 0) { CopyFiles(temp); } } SetGreenRedLbl(); }
void GetAccessibleDirs(DirectoryInfo dir) { try { foreach (FileInfo f in dir.GetFiles("*")) { if (Blocked) { return; } AcFiles.Add(f); } } catch { return; } foreach (DirectoryInfo d in dir.GetDirectories()) { AcDirs.Add(d); GetAccessibleDirs(d); } }