问题标签 [driveinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
60426 浏览

c# - 如何正确地将文件大小以字节为单位转换为兆字节或千兆字节?

我在我的 C# 项目中使用 DriveInfo 类来检索给定驱动器上的可用字节。如何正确将此数字转换为兆字节或千兆字节?我猜除以 1024 不会完成这项工作。结果总是与 Windows-Explorer 中显示的结果不同。

0 投票
3 回答
9957 浏览

.net - .Net DriveInfo() 与 UNC 路径?

早上好,

有没有办法为 UNC 路径获取 DriveInfo 实例(例如“\fors343a.ww123.somedomain.net\folder\1\”),因为例如......

... 当使用上面的 UNC 路径时,会引发 ArgumentException(“对象必须是根目录 (\"C:\\") 或驱动器号 (\"C\")。")。

我将使用什么来检索有关该信息的信息,或者例如,我将如何检查给定文件夹是否驻留在本地驱动器或 unc 路径上?

0 投票
3 回答
22978 浏览

c# - 如何在 C# 中获取可移动磁盘的列表?

我想在 c# 中获取可移动磁盘的列表。我想跳过本地驱动器。因为我希望用户只将文件保存在可移动磁盘中。

0 投票
1 回答
1716 浏览

.net - System.IO.DriveInfo.GetDrives() 因网络驱动器断开而挂起

我正在.NET 3.5 中编写文件管理器。在启动时,应用程序必须枚举可用的驱动器。我正在使用 DriveInfo.GetDrives 来做到这一点。

不幸的是,我的用户感叹,当他们断开网络驱动器时,应用程序需要大约 30 秒才能启动。

我发现当您的网络驱动器断开连接时,GetDrives() 函数会挂起数秒。用户界面冻结。这发生在启动时,每次我连接一个新驱动器时。

总而言之,我需要一种方法来枚举立即返回的可用驱动器,即使有断开的网络驱动器。谢谢你的帮助。

附加信息:

  1. 我用 WMI 做了一些测试,同样的问题出现了。WMI 查询在 15 秒左右后返回。

  2. 我还考虑过将对 DriveInfo 的调用移至单独的线程。这将解决不阻塞用户界面的问题;但这意味着,当用户连接新驱动器时,驱动器图标只会在 15 秒后出现。那并不理想。

非常感谢您的帮助。

0 投票
2 回答
11745 浏览

c# - 映射的网络驱动器不能在 C# 中列出

我正在尝试列出我的应用程序中的所有本地驱动器,并DriveInfo.GetDrives返回本地驱动器号,我也需要映射驱动器。

目前我有:C:, D:, and G: (HDD), E: and F: (CD), and S: and Z: (mapped network drive)。(是的,它们在 Windows 资源管理器和Total Commander中都可见。)但只有 C、D、E、F、G 可以通过编程方式检索。

我也试过Environment.GetLogicalDrives(),GetLogicalDriveStrings (pInvoke)FindFirstVolume( FindNextVolumenpInvoke)。我试图在注册表中找到映射的驱动器列表。没有任何效果,只检索 HDD 和 CD 字母。

没有任何异常发生,直接 WinAPI 调用中没有指示错误,现在我被卡住了。是某种安全设置吗?我到处看,人们都说DriveInfo.GetDrives应该归还映射的驱动器。这是真的吗?

我正在使用 Vista Home Pro。该应用程序在本地机器上运行,它也是在这里使用 Visual Studio 2008 构建的。

我发布了我使用的内容,但它是如此简单,不可能是我做错了什么:

结果: C:\ D:\ E:\ F:\ G:\ 按任意键继续。. .

我怎样才能让它工作?

0 投票
2 回答
5535 浏览

c# - 设置驱动器卷标签

我正在开发一个小型实用程序,我想在其中更改连接到计算机的闪存驱动器上的卷标。我知道 DriveInfo 有能力做到这一点,但我不知道如何完成它。如果有人有代码示例,我将不胜感激。
这是我目前拥有的:

0 投票
1 回答
897 浏览

c# - 使用 DriveInfo 的本地驱动器的 LINQ 枚举

我知道有很多方法可以完成我在这里尝试做的事情,但我想用 LINQ 尝试它,并且看到了一些奇怪的(对我而言)结果。希望这里有人能给我一些智慧。

目标是在本地机器上找到我们执行的驱动器,该驱动器具有已格式化为 NTFS 文件系统的最多可用空间,如果可能,不包括 %SystemDrive% 卷。另一个需要注意的是,分配了卷号但尚未格式化的驱动器必须从候选池中排除。这是一个边缘案例,但一位客户已经遇到过。

所以,我正在尝试:

当我到达 bestAPIDataDrives.Count() 参考时,我得到一个 IOException,Message 属性设置为“设备未准备好”。

我不明白为什么会发生这种情况,因为我在 LINQ 查询中有 localDrive.IsReady 测试,或者至少我认为我有。

0 投票
4 回答
2614 浏览

c# - 在 C# 中格式化 DriveInfo 的 TotalSize 的结果

所以我们都知道下面的代码会返回一个long:

输出将是这样的:

驱动器大小为:114203439104

所以我认为这意味着驱动器的总大小约为 114 GB。

但是,我想将其转换为以下格式:

114.2 MB

有没有一种真正快速简便的方法来做到这一点?

提前致谢。

0 投票
4 回答
169 浏览

c# - 检查任何驱动器 c# 上是否有超过 x 个字节

我对这个有点新,所以我就开始吧。我试图弄清楚如何检查任何驱动器是否有 30 GB 磁盘空间,到目前为止,我似乎无法让它做更多的事情,而不仅仅是检查 C: 驱动器。

可能与 CopyAvailableCheck() 仅检查它获得的第一个值有关,该值来自 C: 驱动器,但我不知道如何解决这个问题。

任何帮助将非常感激。这是我的代码:

0 投票
1 回答
974 浏览

c# - 插入 DVD 介质时驱动器未就绪状态。为什么会这样?

我有这个代码:

所以,我在驱动器中插入一张空白 DVD 并运行代码。我错过了什么?

非常感谢