在整个硬盘搜索一个文件.并将该文件的路径提取出来

思路:

使用DriveInfo.GetDrives可以获得所有分区

通过DriveInfo.IsReady能判断是否可用

然后遍历分区,再递归文件夹搜索

用DirectoryInfo类就够了
它的两个方法
GetDirectories 返回当前目录的子目录
GetFiles  返回当前目录的文件列表 

 

最后提取路径的地方改一下

// For Directory.GetFiles and Directory.GetDirectories
// For File.Exists, Directory.Exists
using System;
using System.IO;
using System.Collections;

public class RecursiveFileProcessor
{
   
public static void Main(string[] args)
    {
       
foreach(string path in args)
        {
           
if(File.Exists(path))
            {
               
// This path is a file
                ProcessFile(path);
            }              
           
else if(Directory.Exists(path))
            {
               
// This path is a directory
                ProcessDirectory(path);
            }
           
else
            {
                Console.WriteLine(
"{0} is not a valid file or directory.", path);
            }       
        }       
    }


   
// Process all files in the directory passed in, recurse on any directories
   
// that are found, and process the files they contain.
    public static void ProcessDirectory(string targetDirectory)
    {
       
// Process the list of files found in the directory.
        string [] fileEntries = Directory.GetFiles(targetDirectory);
       
foreach(string fileName in fileEntries)
            ProcessFile(fileName);

       
// Recurse into subdirectories of this directory.
        string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
       
foreach(string subdirectory in subdirectoryEntries)
            ProcessDirectory(subdirectory);
    }

   
// Insert logic for processing found files here.
    public static void ProcessFile(string path)
    {
        Console.WriteLine(
"Processed file '{0}'.", path);       
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值