如何查找目录的路径

时间:2012-08-17 17:49:01

标签: c# io

有些人和我在C驱动器中存储了相同的文件夹,但每个文件夹都位于不同的位置。我正在尝试编写可以在每台计算机上访问此文件夹的代码。我试过了"~/xx/xx",但它不起作用。我该怎么做?

更新 这就是我现在所拥有的:

foreach (var dir in Directory.EnumerateDirectories(@"C:\", "*dataDir*", SearchOption.AllDirectories))
{
     Debug.WriteLine(dir);
}

例外:System.UnauthorizedAccessException: Access to the path 'C:\$INPLACE.~TR\' is denied.

2 个答案:

答案 0 :(得分:2)

Directory.EnumerateDirectories应该有效。如果您只期待一场比赛,则可以.Single()

foreach(var dir in Directory.EnumerateDirectories(@"C:\", "*STUFF*", SearchOption.AllDirectories))
{
    Console.WriteLine(dir);
}
Yields:
C:\STUFF
C:\other\STUFF

答案 1 :(得分:0)

您可以在Directory.GetDirectories Method (String, String)

中尝试此示例
using System;
using System.IO;

public class Test 
{
   public static void Main() 
   {
       try 
       {
           // Only get subdirectories that begin with the letter "p." 
           string[] dirs = Directory.GetDirectories(@"c:\", "p*");
           Console.WriteLine("The number of directories starting with p is {0}.", dirs.Length);
           foreach (string dir in dirs) 
           {
               Console.WriteLine(dir);
           }
       } 
       catch (Exception e) 
       {
           Console.WriteLine("The process failed: {0}", e.ToString());
       }
   }

}