有些人和我在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.
答案 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());
}
}
}