【发布时间】:2017-03-03 09:19:55
【问题描述】:
我知道,AvailableFreeSpace 可以用于本地驱动器,例如“C:/”、“D:/”等。 它也适用于网络驱动器。
但现在我的问题是:
是否可以在另一个 IP 上查看“文件夹”的可用空闲空间? 我使用以下代码连接到本地驱动器:
System.IO.DriveInfo _DriveInfo = new DriveInfo(SaveLocation);
当“SaveLocation”是像“C:\Temp\Folder”这样的本地驱动器时,它可以正常工作。
但是当“SaveLocation”中有 IP 时,它就不起作用了。 SaveLocation 在这种情况下看起来像这样:“192.168.200.10\c\Data”
这不起作用,这就是我提出问题的原因。异常消息是:{"对象必须是根目录 (\"C:\\") 或驱动器号 (\"C\")。"}
我希望你能帮助我。
【问题讨论】:
-
如果您将共享位置添加为映射驱动器并检查其可用空间会怎样?
-
@dotctor 映射驱动器有效,但我只得到字符串(我对此没有影响)。该字符串大部分时间都是 IP,我无法将获得的每个 IP 添加为映射驱动器。编程映射很长,因为我每次获取字符串时都必须创建它,并在保存完成后将其解散。 (我必须这样做,因为我有可能获得很多不同的 IP)
-
WMI 有点棘手,但我认为您可以要求使用它的可用空间。看看这个问题stackoverflow.com/questions/1412395/…。它使用 localhost 但您可以提取 IP。我知道唯一不能做的就是将 UNC 转换为远程机器中的实际本地路径,除非你有管理员权限,所以如果远程机器有多个驱动器,它可能无法工作。