问题标签 [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.
c# - 如何正确地将文件大小以字节为单位转换为兆字节或千兆字节?
我在我的 C# 项目中使用 DriveInfo 类来检索给定驱动器上的可用字节。如何正确将此数字转换为兆字节或千兆字节?我猜除以 1024 不会完成这项工作。结果总是与 Windows-Explorer 中显示的结果不同。
.net - .Net DriveInfo() 与 UNC 路径?
早上好,
有没有办法为 UNC 路径获取 DriveInfo 实例(例如“\fors343a.ww123.somedomain.net\folder\1\”),因为例如......
... 当使用上面的 UNC 路径时,会引发 ArgumentException(“对象必须是根目录 (\"C:\\") 或驱动器号 (\"C\")。")。
我将使用什么来检索有关该信息的信息,或者例如,我将如何检查给定文件夹是否驻留在本地驱动器或 unc 路径上?
c# - 如何在 C# 中获取可移动磁盘的列表?
我想在 c# 中获取可移动磁盘的列表。我想跳过本地驱动器。因为我希望用户只将文件保存在可移动磁盘中。
.net - System.IO.DriveInfo.GetDrives() 因网络驱动器断开而挂起
我正在.NET 3.5 中编写文件管理器。在启动时,应用程序必须枚举可用的驱动器。我正在使用 DriveInfo.GetDrives 来做到这一点。
不幸的是,我的用户感叹,当他们断开网络驱动器时,应用程序需要大约 30 秒才能启动。
我发现当您的网络驱动器断开连接时,GetDrives() 函数会挂起数秒。用户界面冻结。这发生在启动时,每次我连接一个新驱动器时。
总而言之,我需要一种方法来枚举立即返回的可用驱动器,即使有断开的网络驱动器。谢谢你的帮助。
附加信息:
我用 WMI 做了一些测试,同样的问题出现了。WMI 查询在 15 秒左右后返回。
我还考虑过将对 DriveInfo 的调用移至单独的线程。这将解决不阻塞用户界面的问题;但这意味着,当用户连接新驱动器时,驱动器图标只会在 15 秒后出现。那并不理想。
非常感谢您的帮助。
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
( FindNextVolumen
pInvoke)。我试图在注册表中找到映射的驱动器列表。没有任何效果,只检索 HDD 和 CD 字母。
没有任何异常发生,直接 WinAPI 调用中没有指示错误,现在我被卡住了。是某种安全设置吗?我到处看,人们都说DriveInfo.GetDrives
应该归还映射的驱动器。这是真的吗?
我正在使用 Vista Home Pro。该应用程序在本地机器上运行,它也是在这里使用 Visual Studio 2008 构建的。
我发布了我使用的内容,但它是如此简单,不可能是我做错了什么:
结果: C:\ D:\ E:\ F:\ G:\ 按任意键继续。. .
我怎样才能让它工作?
c# - 设置驱动器卷标签
我正在开发一个小型实用程序,我想在其中更改连接到计算机的闪存驱动器上的卷标。我知道 DriveInfo 有能力做到这一点,但我不知道如何完成它。如果有人有代码示例,我将不胜感激。
这是我目前拥有的:
c# - 使用 DriveInfo 的本地驱动器的 LINQ 枚举
我知道有很多方法可以完成我在这里尝试做的事情,但我想用 LINQ 尝试它,并且看到了一些奇怪的(对我而言)结果。希望这里有人能给我一些智慧。
目标是在本地机器上找到我们执行的驱动器,该驱动器具有已格式化为 NTFS 文件系统的最多可用空间,如果可能,不包括 %SystemDrive% 卷。另一个需要注意的是,分配了卷号但尚未格式化的驱动器必须从候选池中排除。这是一个边缘案例,但一位客户已经遇到过。
所以,我正在尝试:
当我到达 bestAPIDataDrives.Count() 参考时,我得到一个 IOException,Message 属性设置为“设备未准备好”。
我不明白为什么会发生这种情况,因为我在 LINQ 查询中有 localDrive.IsReady 测试,或者至少我认为我有。
c# - 在 C# 中格式化 DriveInfo 的 TotalSize 的结果
所以我们都知道下面的代码会返回一个long:
输出将是这样的:
驱动器大小为:114203439104
所以我认为这意味着驱动器的总大小约为 114 GB。
但是,我想将其转换为以下格式:
114.2 MB
有没有一种真正快速简便的方法来做到这一点?
提前致谢。
c# - 检查任何驱动器 c# 上是否有超过 x 个字节
我对这个有点新,所以我就开始吧。我试图弄清楚如何检查任何驱动器是否有 30 GB 磁盘空间,到目前为止,我似乎无法让它做更多的事情,而不仅仅是检查 C: 驱动器。
可能与 CopyAvailableCheck() 仅检查它获得的第一个值有关,该值来自 C: 驱动器,但我不知道如何解决这个问题。
任何帮助将非常感激。这是我的代码:
c# - 插入 DVD 介质时驱动器未就绪状态。为什么会这样?
我有这个代码:
所以,我在驱动器中插入一张空白 DVD 并运行代码。我错过了什么?
非常感谢