只要一个文本框、一个按钮(用别的也行,只要功能相同。),文本框里输入文件名,电击按钮就搜索整个硬盘里是否有指定文件,有的话把所有的文件完整路径显示在窗体上。

解决方案 »

  1.   


    首先用WMI获取硬盘驱动器信息,再根据盘符递归遍历所有目录。string strResult; ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk"); ManagementObjectCollection disks; 
    disks = diskClass.GetInstances(); 
    foreach( ManagementObject disk in disks) 

    strResult = ""; strResult += "设备ID:" + disk["DeviceID"]; strResult += "磁盘名称:" + disk["Name"]; strResult += "磁盘卷标:" + disk["VolumeName"]; if( disk["FileSystem"].ToString() != "" ) 

    strResult += "文件系统:" + disk["FileSystem"]; strResult += "磁盘描述:" + disk["Description"]; if( System.Convert.ToInt64(disk["Size"]) > 0 ) 

    strResult += "磁盘大小:" + System.Convert.ToInt64(disk["Size"].ToString()); 

    strResult += "磁盘类型:" + System.Convert.ToInt16(disk["DriveType"].ToString()); 

    Response.Write(strResult); 
      

  2.   

    遍历目录的代码:
    private void Info(System.IO.DirectoryInfo di)
    {
    if(di.Exists)
    {
    System.IO.DirectoryInfo[] di_list = di.GetDirectories();
    foreach(System.IO.DirectoryInfo di1 in di_list)
    {
    if(di1.Name.Trim().ToUpper()=="旧文件夹")
    {
    System.IO.DirectoryInfo di2 = new System.IO.DirectoryInfo(di.FullName+@"\新文件夹");
    if(!di2.Exists)
    di2.Create();
    System.IO.DirectoryInfo[] di1_list = di1.GetDirectories();
    foreach(System.IO.DirectoryInfo di1_movelist in di1_list)
    {
    di1_movelist.MoveTo(di2.FullName);
    }
    di1.Delete();
    }
    else
    {
    Info(di1);
    }
    }
    }
    }