DyadyaGenya
Знающий
- Сообщения
- 300
- Репутация
- 10
Доброго времени суток. Собираю в массив данные InstanceName (id винчестера). Потом пробую вставлять их для получения остальных сведений смарт по конкретному винту. Если прописываю в ручную эти InstanceName (id) то значения смарт получаю. А если из массива подставляю, то получение не срабатывает.
Единственное - приходится дублировать слэши. Без дублирования тоже не срабатывает (Видимо особенности пунктуации). Но при подстановке из массива это не помогает.
Как бы получать значения смарт с помощью подстановки значений из массива?
Код:
#include <Array.au3>
Const $wbemFlagReturnImmediately = 0x10
Const $wbemFlagForwardOnly = 0x20
Global $strVendorSpecific[0], $strVendorSpecificA[0], $vendor[3]
$vendor[0]="IDE\DiskHitachi_HDS721050CLA362_________________JP2OA50E\5&2932390f&0&0.1.0_0"
$vendor[1]="IDE\DiskWDC_WD3200AAJS-00B4A0___________________01.03A01\5&2932390f&0&0.0.0_0"
$vendor[2]="SCSI\Disk&Ven_TOSHIBA&Prod_DT01ACA200\4&3714eef5&0&000000_0"
$objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\WMI")
;$colItems = $objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_ATAPISmartData Where InstanceName=""SCSI\\Disk&Ven_TOSHIBA&Prod_DT01ACA200\\4&3714eef5&0&000000_0""", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) ; Вот так срабатывает
$colItems = $objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_ATAPISmartData Where InstanceName=" & String($vendor[1]), "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly) ; Вот так не срабатывает
; Ниже оставлены строки для проверки результата
For $objItem In $colItems
$strVendorSpecific = $objItem.VendorSpecific
ConsoleWrite ("VendorSpecific: " & _ArrayToString($strVendorSpecific,",")&@CR)
$VendorSpecific3 = $objItem.VendorSpecific3
ConsoleWrite($objItem.VendorSpecific3 & @CR)
$strVendorSpecific4 = $objItem.VendorSpecific4
ConsoleWrite ("VendorSpecific4: " & _ArrayToString($strVendorSpecific4,",")&@CR)
Next
Единственное - приходится дублировать слэши. Без дублирования тоже не срабатывает (Видимо особенности пунктуации). Но при подстановке из массива это не помогает.
Как бы получать значения смарт с помощью подстановки значений из массива?