日期:2014-05-18  浏览次数:20768 次

遍历文件夹的规则制定
之前发过一个贴,问如何设计一个程序可以扫描文件夹,找出放错位置的文件并指示出来。

原帖如下
http://topic.csdn.net/u/20120423/11/a0aefad8-c2cd-44c3-b32d-7f5f888c7e29.html

现在我遍历文件夹看的可以了,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;

using System.IO;

class ListAllFilesDemo
{
  public static void Main()
  {
  Console.Write("请输入要查询的目录: ");
  string dir = Console.ReadLine();
  try
  {
  ListFiles(new DirectoryInfo(dir));
  Console.ReadKey();
  }
  catch (IOException e)
  {
  Console.WriteLine(e.Message);
  }
  }

  public static void ListFiles(FileSystemInfo info)
  {
  if (!info.Exists) return;

  DirectoryInfo dir = info as DirectoryInfo;
  //不是目录 
  if (dir == null) return;

  FileSystemInfo[] files = dir.GetFileSystemInfos();
  for (int i = 0; i < files.Length; i++)
  {
  FileInfo file = files[i] as FileInfo;
  //是文件 
  if (file != null)
  Console.WriteLine(file.FullName + "\t " + file.Length);
  //对于子目录,进行递归调用 
  else
  ListFiles(files[i]);

  }
  }
}

这样控制台可以显示出所有文件夹内有文件的路径,结果像这样:


请输入要查询的目录: D:\test
D:\test\1\a.txt 0
D:\test\2\22\bb.txt 0
D:\test\2\b.txt 0
D:\test\3\c.txt 0

现在要进行下一步了,如何制定相应的规则,让程序可以找出放错位置的文件夹,求各位大侠给思路,该怎么弄?

谢谢


------解决方案--------------------
http://topic.csdn.net/u/20120420/16/f1397532-8831-434a-bada-934e02395636.html