[VBScript] Logiciel de transfert de données
Linthree
Messages postés
85
Date d'inscription
Statut
Membre
Dernière intervention
-
Linthree Messages postés 85 Date d'inscription Statut Membre Dernière intervention -
Linthree Messages postés 85 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement en stage et je travaille sur un projet ou je dois develloper un logiciel de transfert fichier de manière intélligente entre differents postes d'un réseau.
Tout se passe bien pour le moment mais je dois gerer un cas où un cable réseau serait débranché durant le transfert et la je ne sais pas comment faire, le probleme étant que je travaille depuis une base de données censée se mettre à jour en fonction de l'état du fichier (vide, copié, installé), mais dans ce cas la, lorsque je débranche le cable, l'état se met sur " en cours de téléchargement" et y reste car on sort de la boucle cencée finir le transfert et mettre la base de données en état "copié".
Je voudrais donc savoir si il est possible de créer une condition pour gérer ce cas où si le programme s'arette automatiquement lorsque le cable est débranché( ce que je crains).
La partie du code sur laquelle j'essai de mettre cela en place est la suivante :
If Ftaille(logiciel) = "ok" then 'On verifie si l'espace disque est suffissant pour copier le fichier.
If objRecordsetPcopie.Fields.Item("réseau") = "hd" then 'Si le réseau du poste courant est HD alors
var = 0 'var vaut 0 quand le réseau est en HD, var sert dans 2 sous programmes afin de déclancher le téléchargement depuis le serveur.
call Pcopier(logiciel,"sintra8",var,dl) 'Appel de la procedure copier.
call spgmcopie(hostname,logiciel,dl) 'Sous programme qui effectue un controle sur la taille du fichier copié et qui gere une éventuelle erreur.
(J'ai pas reussi a mettre l'indentation sur la page de saisie :s )
Je pense que si il est possible de creer une condition pour vérifier cela il serait pas mal de le faire avec le ping, après c'est une idée comme une autre et je suis ouvert à toutes propositions de votre part :)
Dernier petit commentaire :
Le cable pouvant se débrancher à tout moment je ne sais pas à quelle endroit placer une éventuelle condition de test, donc si vous avez une idée... :)
J'ai essayé d'etre le plus clair possible mais la problématique étant relativement complexe si vous n'avez pas suivi une partie (ou l'ensemble [ce que je n'espere pas cependant]) je vous invite à relire la partie(ou l'ensemble) que vous n'avez pas compris :D
Blague à part, si vous ne comprenez pas quelque chose ou que vous voulez des info suplémentaires je me ferait un plaisir de vous les donner :)
Merci d'avance
Bonne journée
Cordialement Linthree
Je suis actuellement en stage et je travaille sur un projet ou je dois develloper un logiciel de transfert fichier de manière intélligente entre differents postes d'un réseau.
Tout se passe bien pour le moment mais je dois gerer un cas où un cable réseau serait débranché durant le transfert et la je ne sais pas comment faire, le probleme étant que je travaille depuis une base de données censée se mettre à jour en fonction de l'état du fichier (vide, copié, installé), mais dans ce cas la, lorsque je débranche le cable, l'état se met sur " en cours de téléchargement" et y reste car on sort de la boucle cencée finir le transfert et mettre la base de données en état "copié".
Je voudrais donc savoir si il est possible de créer une condition pour gérer ce cas où si le programme s'arette automatiquement lorsque le cable est débranché( ce que je crains).
La partie du code sur laquelle j'essai de mettre cela en place est la suivante :
If Ftaille(logiciel) = "ok" then 'On verifie si l'espace disque est suffissant pour copier le fichier.
If objRecordsetPcopie.Fields.Item("réseau") = "hd" then 'Si le réseau du poste courant est HD alors
var = 0 'var vaut 0 quand le réseau est en HD, var sert dans 2 sous programmes afin de déclancher le téléchargement depuis le serveur.
call Pcopier(logiciel,"sintra8",var,dl) 'Appel de la procedure copier.
call spgmcopie(hostname,logiciel,dl) 'Sous programme qui effectue un controle sur la taille du fichier copié et qui gere une éventuelle erreur.
(J'ai pas reussi a mettre l'indentation sur la page de saisie :s )
Je pense que si il est possible de creer une condition pour vérifier cela il serait pas mal de le faire avec le ping, après c'est une idée comme une autre et je suis ouvert à toutes propositions de votre part :)
Dernier petit commentaire :
Le cable pouvant se débrancher à tout moment je ne sais pas à quelle endroit placer une éventuelle condition de test, donc si vous avez une idée... :)
J'ai essayé d'etre le plus clair possible mais la problématique étant relativement complexe si vous n'avez pas suivi une partie (ou l'ensemble [ce que je n'espere pas cependant]) je vous invite à relire la partie(ou l'ensemble) que vous n'avez pas compris :D
Blague à part, si vous ne comprenez pas quelque chose ou que vous voulez des info suplémentaires je me ferait un plaisir de vous les donner :)
Merci d'avance
Bonne journée
Cordialement Linthree
A voir également:
- [VBScript] Logiciel de transfert de données
- Logiciel de sauvegarde gratuit - Guide
- Money logiciel - Télécharger - Comptabilité & Facturation
- Logiciel - Guide
- Logiciel montage vidéo gratuit windows 10 - Guide
- Supprimer les données de navigation - Guide
8 réponses
Bouhouuuuu ='(
Personne ne m'aide....
Allez un petit effort :)
C'est interessant comme sujet non? :p
Personne ne m'aide....
Allez un petit effort :)
C'est interessant comme sujet non? :p
Bonjour,
Effectivement le ping serait une bonne soution.
Je le mettrais "en 1° logne" pour tester l'2tat du réseau avant d'effectuer un transfert sur un ordi ou un autre...
regarde ce script (activexperts est une mine d'or pour des exemples de scripts) à adapter si tu envoies toujours sur le m^me ordi
http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/client/retrieving/
dans ce site, tu as aussi des exemples intéressants avec WMI...
en espèrant que...
Bon courage
Effectivement le ping serait une bonne soution.
Je le mettrais "en 1° logne" pour tester l'2tat du réseau avant d'effectuer un transfert sur un ordi ou un autre...
regarde ce script (activexperts est une mine d'or pour des exemples de scripts) à adapter si tu envoies toujours sur le m^me ordi
http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/client/retrieving/
strMachines = "atl-dc-01;atl-win2k-01;atl-nt4-01;atl-dc-02" aMachines = split(strMachines, ";") For Each machine in aMachines Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._ ExecQuery("select * from Win32_PingStatus where address = '"_ & machine & "'") For Each objStatus in objPing If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then WScript.Echo("Computer " & machine & " is not reachable") End If Next Next
dans ce site, tu as aussi des exemples intéressants avec WMI...
en espèrant que...
Bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci de ta réponse mais le probleme c'est que j'utilise deja ce code comme fonction pour tester au tout début de ma boucle si le serveur est joignable.
Mon souci est donc autre, quand le serveur est joignable, on rentre dans la boucle de transfert mais si pendant ce transfert un cable se débranche mon programme se fini autamatiquement sans passer par la suite du code, suite qui est censée envoyer un message d'erreur le cas échéant.
Quand j'arrive cette partie du code, j'ai avant cela vérifié que mon serveur soit joignable mais lorsque j'arrive à la ligne " call Pcopier(logiciel,"sintra8",var,dl) 'Appel de la procedure copier.", qui lance la copie du fichier depuis le serveur j'ai alors mon probleme si un cable réseau se débranche car je ne rentre pas dans mon "else" qui doit m'envoyer mon message d'erreur.
Y a t-il un moyen, en placant une condition au bon endroit de gérer le cas ou l'on commence le transfert , suivi d'une rupture de connection au serveur?
Ou est ce que dos sortautomatiquement du programme en cas d'erreur?
Merci d'avance :)
Cordialement Linthree
Mon souci est donc autre, quand le serveur est joignable, on rentre dans la boucle de transfert mais si pendant ce transfert un cable se débranche mon programme se fini autamatiquement sans passer par la suite du code, suite qui est censée envoyer un message d'erreur le cas échéant.
If Ftaille(logiciel) = "ok" then 'On verifie si l'espace disque est suffissant pour copier le fichier. If objRecordsetPcopie.Fields.Item("réseau") = "hd" then 'Si le réseau du poste courant est HD alors var = 0 'var vaut 0 quand le réseau est en HD, var sert dans 2 sous programmes afin de déclancher le téléchargement depuis le serveur. call Pcopier(logiciel,"sintra8",var,dl) 'Appel de la procedure copier. logiciel = objRecordsetPcopie3.Fields.Item("logiciel") Set objFolder = objFSO.GetFolder("C:\windows\dit\install\"&logiciel) If objFolder.size > 0 Then 'Permet de vérifier que le fichier et son contenu est bien été copié. Dl = 1 'Dl = 1 si le fichier a été correctement copié, sinon il vaut 0. call MAJ(hostname,logiciel,dl)'Permet de mettre la base de donnée à jour else nom = "ErrCopy" Mess = "La copie du dossier "&logiciel&" n'a pas pu s'effectuer correctement" call ErrorRepport(Nom,Mess) 'On envoi un message d'erreur si le fichier a été mal copié dl = 0 call MAJ(hostname, logiciel, dl)'Permet de mettre la base de donnée à jour End If
Quand j'arrive cette partie du code, j'ai avant cela vérifié que mon serveur soit joignable mais lorsque j'arrive à la ligne " call Pcopier(logiciel,"sintra8",var,dl) 'Appel de la procedure copier.", qui lance la copie du fichier depuis le serveur j'ai alors mon probleme si un cable réseau se débranche car je ne rentre pas dans mon "else" qui doit m'envoyer mon message d'erreur.
Y a t-il un moyen, en placant une condition au bon endroit de gérer le cas ou l'on commence le transfert , suivi d'une rupture de connection au serveur?
Ou est ce que dos sortautomatiquement du programme en cas d'erreur?
Merci d'avance :)
Cordialement Linthree
Re,
Bon, ça dépasse mon petit niveau!
je te conseille, si tu ne l'as pas déjà fait, d'aller sur ce forum spécialisé Vbscript (regarde leur FAQ avant de poser ta question)
https://www.developpez.net/forums/f292/autres-langages/general-visual-basic-6-vbscript/vbscript/
bon courage
Bon, ça dépasse mon petit niveau!
je te conseille, si tu ne l'as pas déjà fait, d'aller sur ce forum spécialisé Vbscript (regarde leur FAQ avant de poser ta question)
https://www.developpez.net/forums/f292/autres-langages/general-visual-basic-6-vbscript/vbscript/
bon courage