111,094
社区成员




public void searchDirectory(string dir)// 母文件夹
{
foreach (string dir in Directory.GetDirectories(dir)) //遍历子文件夹
{
foreach (string Fi in Directory.GetFiles(dir)) // 遍历子文件夹中的文件
{
FileAction(Fi); // 操作
}
}
}
String[] subDirectories= System.IO.Directory.GetDirectories(@"c:\");
foreach (String item in subDirectories)
{
Response.Write(item+"<br/>");
}
public bool FindFile(string dirPath) //参数dirPath为指定的目录
{
//在指定目录及子目录下查找文件
DirectoryInfo Dir = new DirectoryInfo(dirPath);
try
{
foreach (DirectoryInfo d in Dir.GetDirectories())//查找子目录
{
FindFile(Dir + "\\" + d.ToString(), );
}
foreach (FileInfo f in Dir.GetFiles("*.*")) //查找文件 *.*表示所有文件
{
string exname = f.ToString().Substring(f.ToString().LastIndexOf(".") + 1);//得到后缀名
string strSourFile = f.FullName;
}
}
}
/// <summary>
/// 复制文件夹
/// </summary>
/// <param name="srcDir">源路径</param>
/// <param name="tgtDir">目标路径</param>
private void CopyDirectory(string srcDir, string tgtDir)
{
DirectoryInfo source = new DirectoryInfo(srcDir);//源文件夹
DirectoryInfo target = new DirectoryInfo(tgtDir);//目标文件夹
if (target.FullName.StartsWith(source.FullName, StringComparison.CurrentCultureIgnoreCase))
{
throw new Exception("父目录不能拷贝到子目录!");
}
if (!source.Exists)
{
return;
}
if (!target.Exists)
{
target.Create();
}
FileInfo[] files = source.GetFiles();
for (int i = 0; i < files.Length; i++)
{
File.Copy(files[i].FullName, target.FullName + @"\" + files[i].Name, true);
}
DirectoryInfo[] dirs = source.GetDirectories();
for (int j = 0; j < dirs.Length; j++)
{
CopyDirectory(dirs[j].FullName, target.FullName + @"\" + dirs[j].Name);//调用递归
}
}
//删除目录
public void searchDirectory(string dir)
{
foreach (string dir in Directory.GetDirectories(dir))
{
searchDirectory(dir);
}
foreach (string Fi in Directory.GetFiles(dir))
{
File.Delete(Fi);
}
}
Directory.GetDirectories("C:\", "", SearchOption.AllDirectories);
using System;
using System.IO;
public string GetDirectoryInfos(string pathName)
{
try
{
DirectoryInfo currentDir = new DirectoryInfo(pathName);
DirectoryInfo[] childDir = currentDir.GetDirectories();
if (childDir.Length == 0)
return dirInfo += currentDir.FullName + "\n";
else
{
for (int i = 0; i < childDir.Length; i++)
{
if (i == 0)
dirInfo += currentDir.FullName + "\n";
GetDirectoryInfos(childDir[i]);
}
return dirInfo;
}
}
catch (DirectoryNotFoundException ex)
{
return "您输入的路径无效," + "详细信息:" + "\n" + ex.Message+"\n";
}
catch (UnauthorizedAccessException ex)
{
return "您输入路径无效," + "详细信息:" + "\n" + ex.Message+"\n";
}
}