Bonjour à tous,
Je commencerais par préciser que ce script est mon premier.
Je l'ai écrit en l'équivalent de 12h de travail.
J'ai fait évoluer mon script en lisant le forum et en m'inspirant des exemples fournis avec AutoIT et trouvés sur le web.
Au départ je n'avais pas de boite de dialogue et l'adresse, le log était ecrit en dur dans le code. La liste des fichiers était générée dans un fichier import.txt. Ensuite j'ai créé la boite de dialogue pour entrer l'adresse et le log. Puis pour finir j'ai fait la boucle de traitement des fichiers directs depuis leur emplacement sans passer par un fichier txt à générer.
N'hésitez pas à faire des commentaires avec toute l'indugence pour le débutant que je suis.
But de mon script :
Importer les fichiers .OCS collectés lors de l'inventaire informatique de postes non raccordés au réseau physique de l'entreprise. Cette automatisation n'étant pas prévue.
Déroulement du script :
Saisie des éléments suivants via une boite de dialogue

Adresse URL de l'interface OCS Web Inventory

Login

Mot de passe

Emplacement des fichiers
Ouverture de l'interface web via Internet Explorer
Accès à la page d'importation
Boucle de traitement des fichiers .ocs trouvés dans l'emplacement spécifié.
Affichage du nombre de fichiers importés.
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <IE.au3>
;Définition de la boite de dialogue
GUICreate("Importation OCS - Renseignements",375,200)
GUICtrlCreateLabel ("URL du serveur OCS:",10,15)
$valurlocs = GUICtrlCreateInput ("Saisissez ici l'url du serveur OCS",150,10,200)
GUICtrlCreateLabel ("Login :",10,45)
$valogin = GUICtrlCreateInput ("Saisissez ici le nom de l'utilisateur",150,40,200)
GUICtrlCreateLabel ("Mot de passe :",10,75)
$valmdpassw = GUICtrlCreateInput ("",150,70,200,20,$ES_PASSWORD)
GUICtrlCreateLabel ("Emplacement des fichers :",10,105)
$localifich = GUICtrlCreateInput ("Saisissez ici l'emplacement des fichiers",150,100,200)
$boutonvalider = GUICtrlCreateButton("Valider",100,150,75,25)
$boutonfermer = GUICtrlCreateButton("Annuler",200,150,75,25)
;Affichage de la boite de dialogue
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
;Fermeture de la boite de dialogue avec bouton Fermer ou ESC
Case $msg = $boutonfermer Or $msg = $GUI_EVENT_CLOSE
ExitLoop
;Traitement
case $msg = $boutonvalider
;ouverture de l'interface OCS
$url = GUICtrlRead($valurlocs) & "/index.php"
$loginr = GUICtrlRead($valogin)
$mdpr = GUICtrlRead($valmdpassw)
$oIE = _IECreate($url)
_IELoadWait($oIE)
$oName1 = _IEGetObjByName($oIE, "login")
_IEFormElementSetValue($oName1,$loginr)
$oName2 = _IEGetObjByName($oIE, "pass")
_IEFormElementSetValue($oName2,$mdpr)
$oName2.focus
Send ("{ENTER}")
_IELoadWait($oIE)
_IEImgClick($oIE,'image/local.png')
;Traitement des fichiers présent
$vallocalifich = GUICtrlRead($localifich)
$lstfich = _FileListToArray($vallocalifich, "*.ocs", 1)
If @Error=1 Then
MsgBox (0,"","No Files\Folders Found.")
Exit
EndIf
$string = ""
For $element In $lstfich
if IsInt($element) Then
$nbvalimportees = $element
Else
$valfichcomp = $vallocalifich & "\" & $element
$oName3 = _IEGetobjbyname($oIE,"userfile")
$oName3.focus
send($valfichcomp)
send("{ENTER}")
_IELoadWait($oIE)
EndIf
Next
;Affichage du nombre de fichiers importés
MsgBox(0,"Informations","Nombre de fichiers importés : " & $nbvalimportees)
ExitLoop
EndSelect
Wend