Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] проверка флешки по SN (http://forum.oszone.net/showthread.php?t=158066)

Anarasius 23-11-2009 23:17 1278480

проверка флешки по SN
 
Надо чтобы скрипт проверял флешку по серийнику если он правильный то выполнять скрипт дальше.

Iska 24-11-2009 06:14 1278613

Можно попробовать посредством WMI:
Код:

AutoItSetOption("MustDeclareVars", 1)

Local $sTargetVolumeSerialNumber = "ABCDEFGH"
Local $bFound = False

Local $oSWbemServicesEx = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Local $cSWbemObjectSet = $oSWbemServicesEx.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", 0)
Local $oSWbemObjectEx


If $cSWbemObjectSet.Count > 0 Then
        For $oSWbemObjectEx In $cSWbemObjectSet
                ConsoleWrite("Drive: [" & $oSWbemObjectEx.Name & "]" & @TAB & "Serial number: [" & $oSWbemObjectEx.VolumeSerialNumber & "]" & @CRLF) ; Для отладки

                If $oSWbemObjectEx.VolumeSerialNumber = $sTargetVolumeSerialNumber Then
                        ConsoleWrite("Found on drive [" & $oSWbemObjectEx.Name & "]" & @CRLF) ; Для отладки
                        $bFound = True

                        ExitLoop
                EndIf
        Next
EndIf

$oSWbemObjectEx  = 0
$cSWbemObjectSet  = 0
$oSWbemServicesEx = 0

If Not $bFound Then
        Exit(1)
EndIf

;
; Здесь Ваши операторы
;

Exit(0)


amel27 24-11-2009 07:18 1278635

Код:

$sSerial = "3634030921"
$sDrive  = ""
$aDrives = DriveGetDrive ("REMOVABLE")

If IsArray($aDrives) Then
  For
$i=1 To $aDrives[0]
      If DriveGetSerial($aDrives[$i]) == $sSerial Then $sDrive = $aDrives[$i]
  Next
EndIf

If
$sDrive == "" Then Exit MsgBox(16, "Ошибка", "Не найден требуемый диск")


Anarasius 24-11-2009 14:17 1278897

А КАК УЗНАТЬ SN ФЛЕШКИ КОТОРЫЙ ВИДИТ СКРИПТ

amel27 24-11-2009 18:12 1279042

Anarasius, пример в справке к DriveGetSerial()


Время: 03:49.

Время: 03:49.
© OSzone.net 2001-