我想通过 C# 中的计算机通过网络访问远程计算机上的驱动器/文件夹/子文件夹/文件。
我知道有一个使用 WMI 的方法。但是,由于安全权限的原因,WMI 可能无法在远程计算机上执行。
C# 中有哪些替代方法可以通过网络枚举远程计算机的文件夹/子文件夹/文件。
谢谢!
加根
UNC 路径上的共享文件夹可以像本地目录一样使用 System.IO 中的类进行枚举, like Directory.EnumerateFiles
.
foreach (var file in Directory.EnumerateFiles(@"\\machine\c$"))
{
}
不过,正如你所说,存在一个凭据问题。如果您需要指定不同的凭据来访问共享,则必须针对远程计算机进行身份验证。幸运的是,有一个很好的解决方案这个答案 https://stackoverflow.com/questions/295538/how-to-provide-user-name-and-password-when-connecting-to-a-network-share/1197430#1197430用于创建临时网络连接:
using (new NetworkConnection("\\machine\c$", new NetworkCredential("username", "password")))
{
foreach (var file in Directory.EnumerateFiles(@"\\machine\c$"))
{
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)