我正在尝试在 Win7 (x64) 上执行以下脚本以检查是否需要对任何卷进行碎片整理。
Set VolumeList = GetObject("winmgmts:").ExecQuery("Select * from Win32_Volume")
For Each objVolume in VolumeList
errResult = objVolume.DefragAnalysis(blnRecommended, objReport)
If errResult = 0 then
Wscript.Echo "Used space: " & objReport.UsedSpace
Wscript.Echo "Volume name: " & objReport.VolumeName
Wscript.Echo "Volume size: " & objReport.VolumeSize
If blnRecommended = True Then
Wscript.Echo "This volume should be defragged."
Else
Wscript.Echo "This volume does not need to be defragged."
End If
Wscript.Echo
Else
MsgBox errResult
End If
Next
我试图在两个不同的 Win7 系统上运行这个脚本。
首先,我OUT OF MEMORY
在GetObject("winmgmts:").ExecQuery("Select * from Win32_Volume")
.
在第二个,我没有得到OUT OF MEMORY
错误GetObject
,但我得到了error 11 (Unknown Error) in errResult (output of DefragAnalysis-method)
。
两个 Win7 系统都以相同的方式安装和配置。
也许这并不重要,但是当我检查 WMI 属性时,它说"Connected to <Local Computer>"
而不是(如在 Win XP 中)"SUCCESSFULLY connected to <Local Computer>"
。