[R] detecter la connexion d'un disque USB (et sa taille)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

[R] detecter la connexion d'un disque USB (et sa taille)

#1

Message par GhostLine »

Salut à tous !

Je suis en train d'essayer, à des fins d'industrialisation de duplication de disques (avec de multiples masters) de détecter le disque dur qui va être connecté dans une station d'accueil USB.

J'ai zoné sur le forum américain, trouvé un certain nombre de choses, "frankensteinisé" quelques scripts (IT'S *almost* ALIVE !), sans vraiment réussir à obtenir un résultat probant :

Code : Tout sélectionner

$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = @ComputerName

$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")

$colEvents = $objWMIService.ExecNotificationQuery _
        ("Select * From __InstanceOperationEvent Within 5 Where " _
         & "TargetInstance isa 'Win32_LogicalDisk'")

$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", _
        $wbemFlagReturnImmediately + $wbemFlagForwardOnly)


While 1
    $objEvent = $colEvents.NextEvent
    ConsoleWrite($objEvent.TargetInstance.DriveType)
    If $objEvent.TargetInstance.DriveType = 4 Then
        For $objItem In $colItems
;~          If $objItem.DeviceID <> "\\.\PHYSICALDRIVE0" Then
            MsgBox(0, "", $objItem.DeviceID & " - Size: " & Round($objItem.Size / 1024 ^ 3, 2) & "Gb")
;~          EndIf
        Next
    EndIf
WEnd
Un p'ti coup de main ? :)

Merci d'avance !
Modifié en dernier par GhostLine le ven. 20 déc. 2013 15:07, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] detecter la connexion d'un disque USB (et sa taille

#2

Message par jguinch »

Pour la détection, voilà un truc qui pourrait te servir :http://www.autoitscript.fr/forum/viewto ... 470#p83470

Pour la taille, tu peux utiliser DriveSpaceTotal()
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] detecter la connexion d'un disque USB (et sa taille

#3

Message par GhostLine »

J'ai oublié de préciser que les disques sont vierges de toute partition (sinon, ca serait pas drôle :)).
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] detecter la connexion d'un disque USB (et sa taille

#4

Message par jguinch »

En partant du script récupéré ici, je pense que ça devrait convenir :

► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] detecter la connexion d'un disque USB (et sa taille

#5

Message par GhostLine »

Merveilleux, exactement ce dont j'avais besoin !

MERCI ! :D
Répondre