Je me suis inspiré d'un script trouvé sur autoitscript.com pour manipuler diskpart.
L'objectif étant de livré à des techniciens un outil simple de création de clé USB bootable / synchronisation avec les serveurs de déploiement.
J'ai un quack sur la partie diskpart pour les OS Français, à cause de "Disque" au lieu de "Disk".
J'ai essayé avec un bête StringReplace. Mais ce n'est pas bon. Je débute
En exemple c'est plus parlant
Code : Tout sélectionner
Func DskPrt()
Local $Menu1, $n1, $n2, $Msg, $Menustate, $Menutext, $File
Local $Line, $Array = _StringExplode(FileRead(@TempDir & '\lstdsk.txt'), @LF)
For $i = 0 To UBound($Array) - 1
If StringRegExp($Array[$i], '(?i)Disk [\d]+') Or StringRegExp($Array[$i], '(?i)Disque [\d]+') Then $Line &= $Array[$i] & '|'
Next
$Line = StringRegExpReplace($Line, '[\s|]*$', '')
GUICreate('Make USB Bootable', 260, 250)
GUICtrlCreateLabel('Disque disponible : ', 22, 10, 100)
$n1 = GUICtrlCreateList('', 20, 30, 215, 150)
GUICtrlSetData(-1, $Line)
$n2 = GUICtrlCreateButton('Selectionner le disque à rendre bootable', 28, 200, 200)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
Do
$Msg = GUIGetMsg()
If $Msg = $n2 Then
Local $Disk1 = StringRegExpReplace(GUICtrlRead($n1), '(?i)^.*(Disk [\d]+).*$', '$1')
Local $Disk= StringReplace ($Disk1, "disque", "disk")
Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(262452, 'Le disque choisis est le suivant: ' & $Disk, 'Attention le disque va être formatté : ' & $Disk & '!')Parfait sur mes OS Anglais tout fonctionne. Sur des OS Français, il indique "Le disque choisis est le suivant: disque x" Ce qui échoue le reste des actions diskpart.
Du coup j'ai rajouté
Code : Tout sélectionner
Local $Disk= StringReplace ($Disk1, "disque", "disk")Je pense que c'est simple, mais je bloque
Une idée amis autoscriptiens ?
Merci !!
Kreg



