private static void GetDirectorys(string strPath, ref List<string> lstDirect)
{
DirectoryInfo diFliles = new DirectoryInfo(strPath);
DirectoryInfo[] diArr = diFliles.GetDirectories();
//DirectorySecurity directorySecurity = null;
foreach (DirectoryInfo di in diArr)
{
try
{
//directorySecurity = new DirectorySecurity(di.FullName, AccessControlSections.Access);
//if (!directorySecurity.AreAccessRulesProtected)
//{
lstDirect.Add(di.FullName);
GetDirectorys(di.FullName, ref lstDirect);
//}
}
catch
{
continue;
}
}
}
/// <summary>
/// 遍历当前目录及子目录
/// </summary>
/// <param name="strPath">文件路径</param>
/// <returns>所有文件</returns>
private static IList<FileInfo> GetFiles(string strPath)
{
List<FileInfo> lstFiles = new List<FileInfo>();
List<string> lstDirect = new List<string>();
lstDirect.Add(strPath);
DirectoryInfo diFliles = null;
GetDirectorys(strPath, ref lstDirect);
foreach (string str in lstDirect)
{
try
{
diFliles = new DirectoryInfo(str);
lstFiles.AddRange(diFliles.GetFiles());
}
catch
{
continue;
}
}
return lstFiles;
}
}
{
DirectoryInfo diFliles = new DirectoryInfo(strPath);
DirectoryInfo[] diArr = diFliles.GetDirectories();
//DirectorySecurity directorySecurity = null;
foreach (DirectoryInfo di in diArr)
{
try
{
//directorySecurity = new DirectorySecurity(di.FullName, AccessControlSections.Access);
//if (!directorySecurity.AreAccessRulesProtected)
//{
lstDirect.Add(di.FullName);
GetDirectorys(di.FullName, ref lstDirect);
//}
}
catch
{
continue;
}
}
}
/// <summary>
/// 遍历当前目录及子目录
/// </summary>
/// <param name="strPath">文件路径</param>
/// <returns>所有文件</returns>
private static IList<FileInfo> GetFiles(string strPath)
{
List<FileInfo> lstFiles = new List<FileInfo>();
List<string> lstDirect = new List<string>();
lstDirect.Add(strPath);
DirectoryInfo diFliles = null;
GetDirectorys(strPath, ref lstDirect);
foreach (string str in lstDirect)
{
try
{
diFliles = new DirectoryInfo(str);
lstFiles.AddRange(diFliles.GetFiles());
}
catch
{
continue;
}
}
return lstFiles;
}
}