AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 37895
Accepted
romandas
romandas
Asked: 2009-07-09 11:12:50 +0800 CST2009-07-09 11:12:50 +0800 CST 2009-07-09 11:12:50 +0800 CST

是否有显示磁盘管理 MMC 等信息的内置 Windows 实用程序?

  • 772

我正在寻找一个内置的 Windows XP/Server 2003 实用程序,它可以提取驱动器信息,类似于磁盘管理 mmc 显示的内容,包括容量和可用空间。有任何想法吗?

Diskpart 似乎没有报告可用空间,磁盘管理似乎没有“导出到文本”功能。有任何想法吗?

请注意,我不是在寻找任何第三方工具推荐。如果它不是 Windows 内置的,我可能不得不编写它的脚本。

windows-server-2003 disk-space-utilization windows-xp
  • 6 6 个回答
  • 199 Views

6 个回答

  • Voted
  1. Best Answer
    Kevin Kuphal
    2009-07-09T11:57:16+08:002009-07-09T11:57:16+08:00

    对于 Windows XP 和 Server 2003,使用 fsutil 命令

    C:\Documents and Settings\administrator>fsutil volume diskfree C:
    Total # of free bytes        : 14056869888
    Total # of bytes             : 21459722240
    Total # of avail free bytes  : 14056869888
    
    • 3
  2. Kevin Kuphal
    2009-07-09T11:18:33+08:002009-07-09T11:18:33+08:00

    DISKPART 将在音量级别向您显示此信息(仅适用于 Windows Vista)

    DISKPART> detail volume
    
      Disk ###  Status      Size     Free     Dyn  Gpt
      --------  ----------  -------  -------  ---  ---
    * Disk 0    Online        75 GB      0 B
    
    Read-only              : No
    Hidden                 : No
    No Default Drive Letter: No
    Shadow Copy            : No
    Dismounted             : No
    BitLocker Encrypted    : No
    
    Volume Capacity        :   74 GB
    Volume Free Space      :    8 GB
    
    • 2
  3. Izzy
    2009-07-09T12:08:50+08:002009-07-09T12:08:50+08:00

    您可能想要的关于逻辑磁盘的每一点信息:

    On Error Resume Next
    Dim strComputer
    Dim objWMIService
    Dim propValue
    Dim objItem
    Dim SWBemlocator
    Dim UserName
    Dim Password
    Dim colItems
    
    strComputer = "."
    UserName = ""
    Password = ""
    Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
    Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48)
    For Each objItem in colItems
        WScript.Echo "Access: " & objItem.Access
        WScript.Echo "Availability: " & objItem.Availability
        WScript.Echo "BlockSize: " & objItem.BlockSize
        WScript.Echo "Caption: " & objItem.Caption
        WScript.Echo "Compressed: " & objItem.Compressed
        WScript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
        WScript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
        WScript.Echo "CreationClassName: " & objItem.CreationClassName
        WScript.Echo "Description: " & objItem.Description
        WScript.Echo "DeviceID: " & objItem.DeviceID
        WScript.Echo "DriveType: " & objItem.DriveType
        WScript.Echo "ErrorCleared: " & objItem.ErrorCleared
        WScript.Echo "ErrorDescription: " & objItem.ErrorDescription
        WScript.Echo "ErrorMethodology: " & objItem.ErrorMethodology
        WScript.Echo "FileSystem: " & objItem.FileSystem
        WScript.Echo "FreeSpace: " & objItem.FreeSpace
        WScript.Echo "InstallDate: " & objItem.InstallDate
        WScript.Echo "LastErrorCode: " & objItem.LastErrorCode
        WScript.Echo "MaximumComponentLength: " & objItem.MaximumComponentLength
        WScript.Echo "MediaType: " & objItem.MediaType
        WScript.Echo "Name: " & objItem.Name
        WScript.Echo "NumberOfBlocks: " & objItem.NumberOfBlocks
        WScript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
        for each propValue in objItem.PowerManagementCapabilities
            WScript.Echo "PowerManagementCapabilities: " & propValue
        next
        WScript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
        WScript.Echo "ProviderName: " & objItem.ProviderName
        WScript.Echo "Purpose: " & objItem.Purpose
        WScript.Echo "QuotasDisabled: " & objItem.QuotasDisabled
        WScript.Echo "QuotasIncomplete: " & objItem.QuotasIncomplete
        WScript.Echo "QuotasRebuilding: " & objItem.QuotasRebuilding
        WScript.Echo "Size: " & objItem.Size
        WScript.Echo "Status: " & objItem.Status
        WScript.Echo "StatusInfo: " & objItem.StatusInfo
        WScript.Echo "SupportsDiskQuotas: " & objItem.SupportsDiskQuotas
        WScript.Echo "SupportsFileBasedCompression: " & objItem.SupportsFileBasedCompression
        WScript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
        WScript.Echo "SystemName: " & objItem.SystemName
        WScript.Echo "VolumeDirty: " & objItem.VolumeDirty
        WScript.Echo "VolumeName: " & objItem.VolumeName
        WScript.Echo "VolumeSerialNumber: " & objItem.VolumeSerialNumber
    Next
    
    • 1
  4. ThatGraemeGuy
    2009-07-09T11:18:09+08:002009-07-09T11:18:09+08:00

    我不知道任何内置选项,我只会使用 VBScript 或 PowerShell 从 WMI 获取所有信息。

    • 0
  5. Jim B
    2009-07-09T11:19:14+08:002009-07-09T11:19:14+08:00

    您正在寻找的技术是 WMI。有关如何为其编写脚本的概述,请参阅:WMI 脚本入门。

    WMI 是处理远程系统管理的最佳方式。WMI 也可以与 Powershell 一起使用,但您很可能(目前)看到 vbscript 中的大多数示例。一旦您理解了这些概念,您就可以使用 scriptomatic ( vbscript ) ( powershell ) 来构建您的脚本

    • 0
  6. Anthony Lewis
    2009-07-09T11:55:46+08:002009-07-09T11:55:46+08:00

    这是我不久前一起编写的一个非常粗糙的 vbscript。

    这实际上是在 HTML 中提供磁盘信息的 HTA 的一部分。我为您删除了所有的 HTML,并放入了一些选项卡以使内容排列整齐。

    Const BYTES_TO_GB = 1073741824
    
    strComputer  = "computer"
    Wscript.Echo "Disk Usage - " & strComputer & vbCrLf
    Wscript.Echo "Volume" & vbTab & vbTab & "Size" & vbTab & _
       "Free" & vbTab & "% Free" & vbCrLf
    
    Set objWMIService = GetObject("winmgmts://" & strComputer)
    Set colLogicalDisk = objWMIService.ExecQuery( _
        "SELECT DeviceID,VolumeName,Size,FreeSpace FROM Win32_LogicalDisk WHERE DriveType=3")
    
    For Each objLogicalDisk In colLogicalDisk
      intTotalSize = objLogicalDisk.Size / BYTES_TO_GB
      intFreeSpace = objLogicalDisk.FreeSpace / BYTES_TO_GB
      Wscript.Echo objLogicalDisk.VolumeName & " (" & objLogicalDisk.DeviceID & ")" & _
        vbTab & FormatNumber(intTotalSize,0) & " GB" & _
        vbTab & FormatNumber(intFreeSpace,0) & " GB" & _
        vbTab & FormatNumber(intFreeSpace/intTotalSize*100,0) & " %"
    Next
    

    显然,您需要为 strComputer 填写一个值。如果您喜欢 GiB 而不是 GB,也可以调整常数。

    希望这可以帮助。

    • 0

相关问题

  • 如何使用脚本远程重启 Windows 服务?

  • IIS 6.0 (Windows Server 2003) 上的 HTTP 压缩

  • 从 2003 年迁移到 2008 年 Microsoft 群集技术

  • 有什么理由使用 Windows Server 2003 而不是 Server 2008?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve