我自己写的,希望大家多多指点,第一次发帖,多多鼓励!

我习惯采用控制台程序,因为电脑配置的缘故!

我不知道为什么我打一下回车,居然换了两行!

using System;
using System.Collections.Generic;
using System.Text;
//导入命名空间
using System.IO;
namespace FindFilePath
{

      /*
         *
         * 采用递归算法,查找文件!
         *
         */ 
    class Program
    {
        static void Main(string[] args)
        {
            string result = "";

            //在d盘查找是否存在007.txt这个文件,

            //如果有输出文件完整路径!
            IsFindFile("007.txt", "d:\\", ref result);
            Console.WriteLine(result);        
        }
  

        // fileName 需要查找的文件名,
        // position 查找的文件根目录
        /* result   最后找到的文件路径,

          如果不存在 result="";这里只找一个文件,如果有多个文件,则 显示最后那一个 ,如果想要显示多个文件,则须用泛型集合,如list<string> 
         *
         */

        static void IsFindFile(string fileName, string position,ref string result)
        {
            string a = position + "\\" + fileName;
            if (File.Exists(a))
            {
                result=a;
                return;
            }
            else
            {
                string[] directorys = Directory.GetDirectories(position);
                foreach (string item in directorys)
                {

                  //递归调用!
                    IsFindFile(fileName, item, ref result);
                }
            }
   
        }
    }
}