由于项目需要,用于更新pc端某些文件。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            String fileName = "JoinStar.API.dll";


            DriveInfo[] root = DriveInfo.GetDrives();//电脑所有盘符。
            for (int i = 0; i < root.Length; i++) {
                FindFile(root[i].ToString(), fileName);
            }
            Console.WriteLine("同名文件的数量:" + count); 
           
            for (int i = 0; i<filePathList.Count; i++) {
              Console.WriteLine(" 文件的绝对路径:"+ filePathList[i] );
            }
            while(true){}
        }


        public static ArrayList filePathList = new ArrayList();
        public static int count = 0;
        /// <summary>
        /// 3.遍历所有磁盘的文件夹
        /// </summary>
        /// <param name="path">文件名 </param>
        public static void FindFile(string path, string fileName) //参数fileName为指定的文件名。
        {
            DirectoryInfo info = new DirectoryInfo(path);


            try
            {  //获取文件
                FileInfo[] files = info.GetFiles();
                //show all files
                if (files != null && files.Length > 0)
                {
                    foreach (FileInfo file in files)
                    {                                               
                        if (file.FullName.IndexOf(fileName) > -1)
                        {
                            count = count+1;
                            filePathList.Add(file.FullName);
                            Console.WriteLine(" "+file.FullName );//获取目录或文件的完整目录。
                            //Console.WriteLine("同名文件的数量:" + count); 
                        }
                       
                    }
                }
                //获取文件夹
                DirectoryInfo[] directoies = info.GetDirectories();
                //show all sub directories
                if (directoies != null && directoies.Length > 0)
                {
                    foreach (DirectoryInfo d in directoies)
                    {
                        FindFile(d.FullName, fileName);
                    }
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                //Console.WriteLine(ex.Message);
            }      
        }

    }
}

全盘扫描后的结果:c#怎样根据文件名获取其所在的绝对路径

相关文章:

  • 2022-12-23
  • 2021-09-25
  • 2021-11-27
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-31
  • 2021-07-12
  • 2022-12-23
  • 2022-01-05
相关资源
相似解决方案