용량 및 여유 공간을 포함하여 디스크 관리 mmc가 표시하는 것과 유사한 드라이브 정보를 가져올 수 있는 내장 Windows XP/Server 2003 유틸리티를 찾고 있습니다. 어떤 아이디어가 있나요?
Diskpart는 여유 공간을 보고하지 않는 것 같고 디스크 관리에는 "텍스트로 내보내기" 기능이 없는 것 같습니다. 어떤 아이디어가 있나요?
저는 타사 도구 권장 사항을 찾고 있지 않습니다. Windows 내장 기능이 아닌 경우 대신 스크립트를 작성해야 할 것입니다.
답변1
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
답변2
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
답변3
논리 디스크와 관련하여 원하는 모든 정보:
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
답변4
여기에 제가 얼마 전에 함께 해킹한 매우 대략적인 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에 대한 값을 입력해야 합니다. GB 대신 GiB를 선호한다면 상수를 조정할 수도 있습니다.
도움이 되었기를 바랍니다.