如何解决如何获取C#中的SMB共享列表,即:在根目录“ UNC共享”中一次列出所有目录示例结果:C $,print $,backup ...?
我所需要的只是在根SMB目录中枚举目录一次。但是,对于本地计算机和远程计算机都应这样做,例如:
远程IP:\ 1.2.3.4
所需的结果,例如:C $,日志,打印机$
原因是我需要能够使用每天创建的服务器上的日志枚举目录。现在在C#中,我有类似的方法,但除非指定完整路径(又名“ \ 1.2.3.4 \ Logs”),否则我将收到“无效的UNC”错误?
public void root_SMB_dir_list()
{
try
{
//1.2.3.4 is obviously just an example IP address
string full-unc = "\\\\1.2.3.4\\Logs";
//below we call recursive directory listing...
//this works if directory is specified but it's not working if it's "\\\\1.2.3.4\\" or "\\\\1.2.3.4"
dir(full-unc);
}
catch { }
}
//这里是上面调用的dir方法:
public void dir(string sDir)
{
try
{
// NetworkConnection fo = new NetworkConnection(sDir,new NetworkCredential("",""));
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d))
{
// MessageBox.Show(f);
}
dir(d);
}
}
catch (System.Exception ex)
{
// MessageBox.Show(ex.ToString());
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。