首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在.NET中读取"驱动器标签"或"卷名"?

要在.NET中读取驱动器标签或卷名,可以使用System.IO.DriveInfo类。以下是一个简单的示例代码:

代码语言:csharp
复制
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        DriveInfo[] allDrives = DriveInfo.GetDrives();

        foreach (DriveInfo drive in allDrives)
        {
            Console.WriteLine("驱动器名称: {0}", drive.Name);
            Console.WriteLine("卷标: {0}", drive.VolumeLabel);
            Console.WriteLine("文件系统: {0}", drive.DriveFormat);
            Console.WriteLine("总空间: {0}", drive.TotalSize);
            Console.WriteLine("可用空间: {0}", drive.AvailableFreeSpace);
            Console.WriteLine("已使用空间: {0}", drive.TotalSize - drive.AvailableFreeSpace);
            Console.WriteLine();
        }
    }
}

这段代码将遍历计算机中的所有驱动器,并输出它们的名称、卷标、文件系统、总空间、可用空间和已使用空间。其中,drive.VolumeLabel就是获取驱动器的卷标。

需要注意的是,这个方法只能获取本地计算机上的驱动器信息,无法获取远程计算机上的驱动器信息。如果需要获取远程计算机上的驱动器信息,可以使用WMI(Windows Management Instrumentation)或PowerShell等方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WMI-Win32_CDROMDrive 光驱参数

Availability --设备状态信息 Capabilities --媒体访问设备的阵列能力。例如,该装置可支持的随机存取(3),可移动介质(7),和自动清洗(9)。 CapabilityDescriptions --更详细的解释为任何在功能阵列表示的访问设备功能的阵列 Caption --设备的简短描述 CompressionMethod --算法或工具所使用的设备,以支持压缩 ConfigManagerErrorCode --Windows配置管理器错误代码。 ConfigManagerUserConfig --如果为True,该设备使用用户定义的配置 CreationClassName --出现在创建实例所使用的继承链中的第一个具体类的名称 DefaultBlockSize --此设备默认块大小,以字节为单位 Description --设备的描述 DeviceID --设备的ID Drive --驱动器的盘符 DriveIntegrity --如果为True,文件可以准确地从光盘装置读取 ErrorCleared --如果为True,报上一个错误代码错误现已清除。 ErrorDescription --错误的详细信息 ErrorMethodology --用本机支持检错和纠错的类型 FileSystemFlags --此属性是过时的。 FileSystemFlagsEx --用Windows CD-ROM驱动器相关的文件系统标志 Id --驱动器盘符唯一标识此CD-ROM驱动器。 InstallDate --安装的日期 LastErrorCode --报告的逻辑设备上一个错误代码。 Manufacturer --设备制造商的名称 MaxBlockSize --有关在脚本中使用UINT64值的详细信息 MaximumComponentLength --最大尺寸的介质,以KB为单位 MediaLoaded --是否加载驱动 MediaType --可以使用或访问该设备的媒体类型 MfrAssignedRevisionLevel --这是由制造商指定的固件版本。 MinBlockSize --最小的块大小,以字节为单位 Name --设备的名称 NeedsCleaning --如果真,媒体接入设备需要清洁。不论手动或自动清洗是可能显示在Capabilities属性。 NumberOfMediaSupported --可以支持或插入媒体的最大数量 PNPDeviceID --即插即用逻辑设备的播放设备标识符。 PowerManagementCapabilities --逻辑设备的特定功率相关的能力阵列。 PowerManagementSupported --如果真,该装置可以是电源管理,这意味着它可以被放入挂起模式,等等 RevisionLevel --在Windows CD-ROM驱动器的固件版本。 SCSIBus --SCSI总线号的磁盘驱动器 SCSILogicalUnit --SCSI逻辑单元的磁盘驱动器的号码(LUN) SCSIPort --盘驱动器的SCSI端口号 SCSITargetId --在Windows CD-ROM驱动器的SCSI标识号 SerialNumber --由生产商提供的数字标识该物理介质 Size --磁盘驱动器的尺寸 Status --对象的当前状态 StatusInfo --对象状态的详细信息 SystemCreationClassName --该作用域计算机的创建类别名称属性的值 SystemName --系统名称 TransferRate --在CD-ROM驱动器的传输速率 VolumeName --在Windows CD-ROM驱动器的卷名 VolumeSerialNumber --在CD-ROM驱动器的媒体的卷序列号

02
  • GetLastError错误代码

    〖0〗-操作成功完成。   〖1〗-功能错误。   〖2〗-系统找不到指定的文件。   〖3〗-系统找不到指定的路径。   〖4〗-系统无法打开文件。   〖5〗-拒绝访问。   〖6〗-句柄无效。   〖7〗-存储控制块被损坏。   〖8〗-存储空间不足,无法处理此命令。   〖9〗-存储控制块地址无效。   〖10〗-环境错误。   〖11〗-试图加载格式错误的程序。   〖12〗-访问码无效。   〖13〗-数据无效。   〖14〗-存储器不足,无法完成此操作。   〖15〗-系统找不到指定的驱动器。   〖16〗-无法删除目录。   〖17〗-系统无法将文件移到不同的驱动器。   〖18〗-没有更多文件。   〖19〗-介质受写入保护。   〖20〗-系统找不到指定的设备。   〖21〗-设备未就绪。   〖22〗-设备不识别此命令。   〖23〗-数据错误 (循环冗余检查)。   〖24〗-程序发出命令,但命令长度不正确。   〖25〗-驱动器无法找出磁盘上特定区域或磁道的位置。   〖26〗-无法访问指定的磁盘或软盘。   〖27〗-驱动器找不到请求的扇区。   〖28〗-打印机缺纸。   〖29〗-系统无法写入指定的设备。   〖30〗-系统无法从指定的设备上读取。   〖31〗-连到系统上的设备没有发挥作用。   〖32〗-进程无法访问文件,因为另一个程序正在使用此文件。   〖33〗-进程无法访问文件,因为另一个程序已锁定文件的一部分。   〖36〗-用来共享的打开文件过多。   〖38〗-到达文件结尾。   〖39〗-磁盘已满。   〖50〗-不支持该请求。   〖51〗-远程计算机不可用 。   〖52〗-在网络上已有重复的名称。   〖53〗-找不到网络路径。   〖54〗-网络忙。   〖55〗-指定的网络资源或设备不再可用。   〖56〗-已到达网络 BIOS 命令限制。   〖57〗-网络适配器硬件出错。   〖58〗-指定的服务器无法运行请求的操作。   〖59〗-发生意外的网络错误。   〖60〗-远程适配器不兼容。   〖61〗-打印机队列已满。   〖62〗-无法在服务器上获得用于保存待打印文件的空间。   〖63〗-删除等候打印的文件。   〖64〗-指定的网络名不再可用。   〖65〗-拒绝网络访问。   〖66〗-网络资源类型错误。   〖67〗-找不到网络名。   〖68〗-超过本地计算机网卡的名称限制。   〖69〗-超出网络 BIOS 会话限制。   〖70〗-远程服务器已暂停,或正在启动过程中。   〖71〗-当前已无法再同此远程计算机连接,因为已达到计算机的连接数目极限。   〖72〗-已暂停指定的打印机或磁盘设备。   〖80〗-文件存在。   〖82〗-无法创建目录或文件。   〖83〗-INT 24 失败。   〖84〗-无法取得处理此请求的存储空间。   〖85〗-本地设备名已在使用中。   〖86〗-指定的网络密码错误。   〖87〗-参数错误。   〖88〗-网络上发生写入错误。   〖89〗-系统无法在此时启动另一个进程。   〖100〗-无法创建另一个系统信号灯。   〖101〗-另一个进程拥有独占的信号灯。   〖102〗-已设置信号灯且无法关闭。   〖103〗-无法再设置信号灯。   〖104〗-无法在中断时请求独占的信号灯。   〖105〗-此信号灯的前一个所有权已结束。   〖107〗-程序停止,因为替代的软盘未插入。   〖108〗-磁盘在使用中,或被另一个进程锁定。   〖109〗-管道已结束。   〖110〗-系统无法打开指定的设备或文件。   〖111〗-文件名太长。   〖112〗-磁盘空间不足。   〖113〗-无法再获得内部文件的标识。   〖114〗-目标内部文件的标识不正确。   〖117〗-应用程序制作的 IOCTL 调用错误。   〖118〗-验证写入的切换参数值错误。   〖119〗-系统不支持请求的命令。   〖120〗-此功能只被此系统支持。   〖121〗-信号灯超时时间已到。   〖122〗-传递到系统调用的数据区太小。   〖123〗-文件名、目录名或卷标语法不正确。   〖124〗-系统调用级别错误。   〖125〗-磁盘没有卷标。   〖126〗-找不到指定的模块。   〖127〗-找不到指定的程序。   〖128〗-没有等候的子进程。   〖130〗-试图使用操作(而非原始磁盘 I/O)的已打开磁盘分区的文件句柄。   〖131〗-试图移动文件指针到文件开头之前。   〖132〗-无法在指定的设备或文件上设置文件

    01

    JavaScript Scripting.FileSystemObject FSO属性大全

    什么是FSO? FSO 即 File System Object 文件系统对象,是一种列表 Windows 磁盘目录和文件,对目录和文件进行删除、新建、复制、剪切、移动等操作的技术。使用 FSO 网站的好处:直接读取目录下的文件和子目录,方便维护,如需要添加任何内容,将文件放在相应的目录下即可;FSO 网站类似 Windows 操作界面,易于使用,会使用 Windows 就会使用 FSO 网站。 试想一下,很方便的就可以将您硬盘中的文件和文件夹制作成网站,并且日后只要把内容添加到目录下就可以更新,这样是不是很方便呢?这样,没有经验的新手也可以建设自己的网站了。 参考网站:http://dwdesign.vicp.net 或者http://dwdesign.dns0755.net

    03

    JS、ActiveXObject、Scripting.FileSystemObject

    一、功能实现核心:FileSystemObject 对象 要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。 二、FileSystemObject编程 使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 (一)创建FileSystemObject对象 创建FileSystemObject对象的 代码只要1行: var fso = new ActiveXObject(“Scripting.FileSystemObject”); 上述代码执行后,fso就成为一个FileSystemObject对象实例。 (二)应用相关方法 创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.createtextfile(“c:\myjstest.txt”,true”); (三)访问对象相关属性 要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c: est.txt的句柄: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.GetFile(“c:\myjstest.txt”); 然后,使用f1访问对象的相关属性。比如: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.GetFile(“c:\myjstest.txt”); alert(“File last modified: ” + f1.DateLastModified); 执行上面最后一句后,将显示c:myjstest.txt的最后修改日期属性值。 但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.createtextfile(“c:\myjstest.txt”,true”); alert(“File last modified: ” + f1.DateLastModified); 三、操作驱动器(Drives) 使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。 (一)Drives对象属性 Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性: l TotalSize:以字节(byte)为单位计算的驱动器大小。 l AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。 l DriveLetter:驱动器字母。 l DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。 l SerialNumber:驱动器的系列码。 l FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。 l IsReady:驱动器是否可用。 l ShareName:共享名称。 l VolumeName:卷标名称。 l Path和RootFolder:驱动器的路径或者根目录名称。 (二)Drive对象操作例程 下面的例程显示驱动器C的卷标、总容量和可用空间等信息: var fso, drv, s =””; fso = new ActiveXObject(“Scripting.FileSystemObject”); drv = fso.GetDrive(fso.GetDriveName(“c:\”)); s += “Drive C:” + ” – “; s += drv.VolumeName + ” “; s += “Total Space: ” + drv.T

    02

    IBM Storwize V7000存储运维使用手册

    IBM Storwize V7000 适用于中端市场,它通过内置的自动精简配置、Easy Tier 自动存储分层和存储虚拟化,满足了虚拟环境中性能和效率问题。新的 Storwize V7000 Unified 可以支持文件和块存储,并利用完全集成的管理功能来处理非结构化数据的大规模增长,而无需其他存储纵向结构。Storwize V7000 和 Storwize V7000 Unified 均可方便地向上扩展以适应虚拟且基于云的环境的快速变化需求,并且包含自动的由策略驱动的分层,以优化性能和成本,同时简化管理。     Storwize本是IBM最近收购的一个专攻主存储中实时数据压缩的公司名字,Storwize含有存储(stor)智慧(wize)的用意,用Storwize命名是因为IBM想利用Storwize这个品牌变成IBM一个新的存储系列,V7000的V代表虚拟化,V系列将是IBM的具有虚拟化技术的中端磁盘阵列的产品编号。V7000的得名是根据它的性能定义的:其“性能介于DS5000和DS8000之间”,因此才命名为V7000——取了一个中间的数字,且更为接近DS8000。

    01

    Windows 批处理获取某路径下最新创建的文件的名称

    echo off setlocal enabledelayedexpansion rem 设置文件所在目录 set src_dir=F:\Download\test rem filename用于存放目标文件名 set filename="" cd /d %src_dir% for /f %%a in ('dir /o-d /tc /b test*.html') do ( echo 文件完整信息: %%a set filename=%%~na%%~xa echo 文件名: !filename!, 最新创建时间: %%~ta if not !filename! == "" ( goto iconv ) ) :iconv iconv -f gbk -t utf-8 %filename% > "jenkins_test_report.html" pause 说明: setlocal enabledelayedexpansion:开启本地环境变量延迟 扩展阅读: 批处理运行命令的机制:批处理读取命令时是按行读取的(对于for命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量(%var_name%)赋值。开启本地环境变量延迟后,在读取了一条完整的语句之后,不立即对该行的变量赋值,而是在执行某个单条语句之前再对变量进行赋值,也就是说“延迟”了对变量的赋值。开启本地环境变量延迟后,原有变量的界定符由 "%" 改成"!" for循环语法 for /f %variable IN ('command') DO command [command-parameters] dir /o-d /tc /b test*.html:按文件创建时间降序显示test开头的.html文件 dir命令选项 /b 使用空格式(没有标题信息或摘要)。 /o 用分类顺序列出文件。 排列顺序:d 按日期/时间(从先到后) - 反转顺序的前缀 /t 控制显示或用来分类的时间字符域。 c 创建时间a 上次访问时间 w 上次写入的时间 例: dir /od:按日期/时间升序显示 dir /o-d:按日期/时间降序显示 dir /tw: 时间列输出为修改时间(默认) if not !filename! == "" ( goto iconv ) 如果变量filename不为空,则表示取到了值, goto iconv 跳转到iconv标签,继续执行标签后的语句 %%a:文件完整信息 %%~da:文件所在驱动器信息 %%~pa:文件所在路径信息 %%~na:文件名信息 %%~xa:文件后缀信息 %%~za:文件大小信息 %%~ta:文件修改时间信息 %%~dpa:文件所在驱动器和所在路径信息 %%~nxa:文件名及后缀信息 %%~pnxa:文件所在路径及文件名和后缀信息 %%~dpna:文件驱动器、路径、文件名信息 %%~dpnxa:文件驱动器、路径、文件名、后缀信息 rem 注释语句 常见问题: cmd中的编码方式为ANSI,如果中文不是此编码方式则会出现乱码。 解决方法:编辑批处理文件时,以ANSI方式编辑即可(windows自带的记事本保存文件时即可选择编码方式为ANSI)

    01

    ie浏览器activexobject_ie8 object.defineproperty

    JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用,javaScript中利用ActiveXObject来创建FileSystemObject操作文件。 一、功能实现核心:FileSystemObject 对象 要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。 二、FileSystemObject编程 使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。 (一)创建FileSystemObject对象 创建FileSystemObject对象的代码只要1行: var fso = new ActiveXObject(“Scripting.FileSystemObject”); 上述代码执行后,fso就成为一个FileSystemObject对象实例。 (二)应用相关方法 创建对象实例后,就可以使用对象的相关方法了。比如,使用CreateTextFile方法创建一个文本文件: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.createtextfile(“c:\\myjstest.txt”,true); (三)访问对象相关属性 要访问对象的相关属性,首先要建立指向对象的句柄,这就要通过get系列方法实现:GetDrive负责获取驱动器信息,GetFolder负责获取文件夹信息,GetFile负责获取文件信息。比如,指向下面的代码后,f1就成为指向文件c:\test.txt的句柄: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.GetFile(“c:\\myjstest.txt”); 然后,使用f1访问对象的相关属性。比如: alert(“File last modified: ” + f1.DateLastModified); 执行上面最后一句后,将显示c:\myjstest.txt的最后修改日期属性值。 但有一点请注意:对于使用create方法建立的对象,就不必再使用get方法获取对象句柄了,这时直接使用create方法建立的句柄名称就可以: var fso = new ActiveXObject(“Scripting.FileSystemObject”); var f1 = fso.createtextfile(“c:\\myjstest.txt”,true); alert(“File last modified: ” + f1.DateLastModified); 三、操作驱动器(Drives) 使用FileSystemObject对象来编程操作驱动器(Drives)和文件夹(Folders)很容易,这就象在Windows文件浏览器中对文件进行交互操作一样,比如:拷贝、移动文件夹,获取文件夹的属性。 (一)Drives对象属性 Drive对象负责收集系统中的物理或逻辑驱动器资源内容,它具有如下属性: TotalSize:以字节(byte)为单位计算的驱动器大小。 AvailableSpace或FreeSpace:以字节(byte)为单位计算的驱动器可用空间。 DriveLetter:驱动器字母。 DriveType:驱动器类型,取值为:removable(移动介质)、fixed(固定介质)、network(网络资源)、CD-ROM或者RAM盘。 SerialNumber:驱动器的系列码。 FileSystem:所在驱动器的文件系统类型,取值为FAT、FAT32和NTFS。 IsReady:驱动器是否可用。 ShareName:共享名称。 VolumeName:卷标名称。 Path和RootFolder:驱动器的路径或者根目录名称。 (二)Drive对象操作例程 下面的例程显示驱动器C的卷标、总容量和可用空间等信息: var fso, drv, s =””; fso = new ActiveXObject(“Scripting.FileSystemObject”); drv = fso.GetDrive(fso.GetDriveName(“c:\\”)); s += “Drive C:” + ” – “; s += drv.VolumeName + “\n”; s += “Total Space: ” + drv.TotalSize / 1024; s += ” Kb” + “\n”; s += “Free Space: ” + drv.F

    01

    niftynet Demo分析 -- brain_parcellation

    论文详细介绍 通过从脑部MR图像中分割155个神经结构来验证该网络学习3D表示的效率 目标:设计一个高分辨率和紧凑的网络架构来分割体积图像中的精细结构 特点:大多数存在的网络体系结构都遵循完全卷积下行-向上采样路径。具有高空间分辨率的低层次特征首先被下采样用于更高层次的特征抽象;然后对特征图进行上采样,以实现高分辨率分割。本论文提出了一种新的3D架构,它包含了整个层的高空间分辨率特征图,并且可以在广泛的接受领域中进行训练 验证:通过从T1加权MR图像中自动进行脑区分割成155个结构的任务来验证网络,验证了采用蒙特卡罗方法对实验中存在漏失的网络进行采样来对体素水平不确定度估计的可行性 结果:经过训练的网络实现了通用体积图像表示的第一步,为其他体积图像分割任务的迁移学习提供了一个初始模型

    02

    再记录一下vscode配置golang开发的一些注意事项

    M$推出vscode之后,感觉世界真美好。于是从liteide转到vscode了。但是golang组织代码的目录管理这尿性比较奇葩。常常把自己搞得五迷三道的。有时候正常,有时候又掉链子。现在记录一下一些注意事项。 windows下的vscode,首先安装golang到 c:/Go 也就是环境变量GOROOT=c:/Go,然后指定GOPATH=c:/Go/gopath 这个目录自己建立。环境变量里面GOROOT和GOPATH只留下系统变量,用户变量中的GOROOT,GOPATH删除。不然鬼知道会搞出神马冲突,不划算,环境变量设置好之后,一定要重新自动下电脑,不然有时候vscode读不到最新环境变量设置。之所以GOPATH指定一个专用目录,而不是用户目录(类似 C:\Users\Administrator\go),主要因为项目如果发布到git,自己在多台电脑上编译代码的话。比较麻烦所以统一指定固定目录。 然后vscode安装微软的ms-vscode.go插件。穿好后用workspace来组织golang代码。 目录结构大致如下:

    04
    领券