列出网络位置中的所有共享文件夹

康奈尔

我想列出网络服务器上的所有共享目录。

从我使用的共享网络目录中列出目录

Directory.GetDirectories(@"\\server\share\")

问题是我要列出上的所有文件夹\\server

如果我使用相同的方法,则会出现异常提示

UNC路径的格式应为\ server \ share

我到处环顾四周,找不到解决方案。

有人知道我应该怎么做才能显示文件夹\\share吗?

塞洛里奥

我能找到的最佳解决方案是从一个隐藏的cmd.exe实例调用“ net”应用程序:

public static string[] GetDirectoriesInNetworkLocation(string networkLocationRootPath)
{
    Process cmd = new Process();
    cmd.StartInfo.FileName = "cmd.exe";
    cmd.StartInfo.RedirectStandardInput = true;
    cmd.StartInfo.RedirectStandardOutput = true;
    cmd.StartInfo.CreateNoWindow = true;
    cmd.StartInfo.UseShellExecute = false;
    cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    cmd.Start();
    cmd.StandardInput.WriteLine($"net view {networkLocationRootPath}");
    cmd.StandardInput.Flush();
    cmd.StandardInput.Close();

    string output = cmd.StandardOutput.ReadToEnd();

    cmd.WaitForExit();
    cmd.Close();

    output = output.Substring(output.LastIndexOf('-') + 2);
    output = output.Substring(0, output.IndexOf("The command completed successfully."));

    return
        output
            .Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
            .Select(x => System.IO.Path.Combine(networkLocationRootPath, x.Substring(0, x.IndexOf(' '))))
            .ToArray();
}

根据您的用例,您可能需要验证networkLocationRootPath以避免任何cmd注入问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Fabric8 Java库列出pod文件夹中的所有文件

如何列出tomcat文件夹中的所有文件?

列出文件夹中的所有文件以及子文件夹

命令列出文件夹中的所有文件以及Windows中的子文件夹

列出文件夹中的所有文件ID(无子文件夹)

VBA在没有FileSystemObject的子文件夹中列出所有文件(快速方式)

以cmd列出所有文件夹和子文件夹,但不列出文件

在Haxe的文件夹中查找并列出所有文件/文件夹

在python的zip文件中列出文件夹中的所有文件

从公共网络共享驱动器中获取所有子文件夹

如何列出文件夹中的所有文件然后选择多个文件

列出目录中的所有文件夹(PHP)

在我的应用程序的资产目录中列出所有文件和文件夹(以及子文件夹),并检查资产是文件还是文件夹

将文件夹中的所有文件和子文件夹列出到表中

列出文件大小给定结构中的所有文件夹和子文件夹

列出SQL Server父文件夹中的所有文件夹子目录

列出某个时刻存在于Git存储库分支中的文件夹的所有子文件夹

快速递归列出文件夹中的所有文件

列出所有子文件夹中的所有文件

如何列出Windows SMB网络共享中的所有文件

在DrEdit中列出Google云端硬盘中的所有文件和文件夹

自动列出服务器上某个位置的所有文件夹

如何创建一个批处理,在本地网络上的所有(未知)共享文件夹中搜索特定文件夹?

复制文件夹位置列表中的所有文件

列出R中没有子文件夹的文件夹中的所有文件

尝试列出共享文件夹中的所有文件时重置连接

PowerShell - 列出 TreeView GUI 元素中的所有文件夹和子文件夹

我有一个共享的谷歌驱动器文件夹。有什么方法可以列出我的谷歌表格中的所有文件吗?

使用 C# 在线列出 Sharepoint 上文件夹中的所有文件