首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获取共享文件夹原始(系统路径)

无法获取共享文件夹原始(系统路径)
EN

Stack Overflow用户
提问于 2019-09-06 16:39:03
回答 1查看 68关注 0票数 1

获取共享文件夹系统路径,但代码返回相同路径的共享文件夹,如“@\123.1.1.56\Pagal”

代码语言:javascript
复制
DirSearch("\\\\DESKTOP-2FFGFDM\\Packages");

static void DirSearch(string dir, string rootDir = null)
{

    if (rootDir == null)
    {
        rootDir = dir;
    }
    try
    {
        foreach (string f in Directory.GetFiles(dir))
        {
            string filename = f.Substring(rootDir.Length);
            Console.WriteLine(filename);
        }
        foreach (string d in Directory.GetDirectories(dir))
        {
            Console.WriteLine(d);
            DirSearch(d, rootDir);
        }

    }
    catch (System.Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

我找不到共享文件夹系统路径,所以请。帮帮我.提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-06 17:00:00

要测试网络共享是否存在,可以使用DirectoryInfo

代码语言:javascript
复制
static void DirSearch(string dir, string rootDir = null)
{
    if(!new DirectoryInfo(dir).Exists)
      throw new Exception($"the provided directory {dir} is not valid.")

    if (rootDir == null)
    {
        rootDir = dir;
    }
    try
    {
        foreach (string f in Directory.GetFiles(dir))
        {
            string filename = f.Substring(rootDir.Length);
            Console.WriteLine(filename);
        }
        foreach (string d in Directory.GetDirectories(dir))
        {
            Console.WriteLine(d);
            DirSearch(d, rootDir);
        }

    }
    catch (System.Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

但是,如果这是递归编程的学校作业,那么您可以只获取所有文件和directory without the recursion

代码语言:javascript
复制
foreach (string f in Directory.GetFiles(dir,"*.*",SearchOption.AllDirectories))
{
     string filename = f.Substring(rootDir.Length);
     Console.WriteLine(filename);
}

因为这些文件来自目录,所以您可以从名称中获取这些文件

代码语言:javascript
复制
var dir="";
foreach (string f in Directory.GetFiles(dir,"*.*",SearchOption.AllDirectories))
{
    string filename = f.Substring(rootDir.Length);
    var directoryName = new FileInfo(filename).Directory.FullName;
    if(directoryName!=dir)
    {
      Console.WriteLine(filename);
      dir= directoryName ;
    }
    Console.WriteLine(filename);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57818546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档