foreach the files
private void getSome(DirectoryInfo dir)
{
progressBar1.Minimum = 1; //设置滚动条的最小值
FileSystemInfo[] file = dir.GetFileSystemInfos(); //获取文件夹内所有文件和文件夹
progressBar1.Maximum = file.Length;
foreach (FileSystemInfo fi in file)
{
if (fi is DirectoryInfo)
{
string directory = dir.FullName + @"\" + fi.Name;
try
{
DirectoryInfo info = new DirectoryInfo(directory);
info.Delete(true);
getSome(info);
}
catch
{
string path = Application.StartupPath + @"\" + "error.log";
StreamWriter w = new StreamWriter(path, true, Encoding.UTF8);
FileInfo f = new FileInfo(path);
if (f.Exists)
{
w.WriteLine("文件:" + directory + " 不能被删除");
w.Close();
}
else
{
File.Create(path);
}
continue;
}
}
else
{
string filename = dir.FullName + @"\" + fi.Name;
try
{
label1.Text = filename;
//File.Delete(filename);
progressBar1.PerformStep();
Thread.Sleep(100);
}
catch
{
string path = Application.StartupPath + @"\" + "error.log";
StreamWriter w = new StreamWriter(path, true, Encoding.UTF8);
FileInfo f = new FileInfo(path);
if (f.Exists)
{
w.WriteLine("文件:" + filename + " 不能被删除");
w.Close();
}
else
{
File.Create(path);
}
continue;
}
}
}
}
这个方法主要是遍历所选文件夹下所有的文件和文件夹,最好使用线程启动,不然文件多的话可能出现假死的状态。
希望对大家有所帮助,我是新手,但我还是会把我每天做的东西写上来的。希望能够慢慢的提高自己的水平。现在工作可不好找。
浙公网安备 33010602011771号