[VBS] Problème avec le mapping

Problème avec le mapping [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 18-01-2010 à 11:16:56    

Bonjour tout le monde,
 
Dans le cadre de mon stage de seconde année de BTS IG je dois mettre en place un script permettant la suppression de fichiers vieux de X jours. Mon choix s'est porté sur un Script VBS. Je précise que je suis en Réseau et donc que je n'ai que très peu de compétences en programmation :/
 
Voici mon problème : Avec de l'aide j'ai réussi à établir un script stable qui fonctionne partiellement. Je nettoie deux dossier : un local + un serveur FTP, et donc voici la raison du titre du post : le mapping. J'ai eu beau chercher sur le forum et sur internet, je n'ai pas trouvé de sources suffisamment intéressantes.
 
Voici mon script :

'**************************
'Declarations de variables
'**************************
'Mapping du FTP
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network" )
WshNetwork.MapNetworkDrive "Z:", "\\172.20.59.15\emeric"
 
'Repertoire ou sont stockees les Alertes Webcam (Photos ou Mini videos)
DossierAlertesWebcam = "Z:\"
 
'Repertoire ou sont stockees les Captures Webcam (Photos et Videos complètes)
DossierCapturesWebcam = "C:\Program Files\Wireless-G Internet Home Monitoring Camera\Storage\LKe74ad8\Data"
 
'Nombre de jours de conservation des Fichiers
AgeMaximalFichiers = "2"
 
'Initialisation des objets
Set fso = CreateObject("Scripting.FileSystemObject" )
 
'On verifie que le dossier de stockage des alertes existe
If (myName = Winrep = fso.FolderExists(DossierAlertesWebcam)) = False Then
    Erreur = MsgBox("Le Dossier des Alertes Webcam est introuvable !" )
    Wscript.Quit
End If
 
'On verifie que le dossier de stockage des captures existe
If (myName = Winrep = fso.FolderExists(DossierCapturesWebcam)) = False Then
    Erreur = MsgBox("Le Dossier des Captures Webcam est introuvable !" )
    Wscript.Quit
End If
 
'On recupere la date système
DateSysteme = Date
 
 
'**************************************
'Suppression des fichiers trop anciens
'**************************************
Set Folder = fso.Getfolder(DossierAlertesWebcam)
For Each File In Folder.Files
        If (DateDiff("d", File.DateCreated, DateSysteme) > CInt(AgeMaximalFichiers)) Then
   If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Delete()
       End If  
Next
 
Set Folder = fso.Getfolder(DossierCapturesWebcam)
For Each File In Folder.Files
        If (DateDiff("d", File.DateCreated, DateSysteme) > CInt(AgeMaximalFichiers)) Then
   If File.Attributes And 1 Then File.Attributes = File.Attributes - 1
            File.Delete()
  End If
Next
 
'Supprime le mapping
WshNetwork. RemoveNetworkDrive "Z:"


 
Voici le message d'erreur :
http://www.noelshack.com/up/aac/&-d240dfda53.jpg
 
Lecteur réseau :
http://www.noelshack.com/up/aac/img3-f0d723d122.jpg
 
J'ai configuré Z: parce que le lecteur réseau s'appelle ainsi ... lorsque je change pour une autre lettre le script me crée un lecteur de ce nom :/ Quelqu'un peut m'aider à corriger mon script s'il vous plait ?

Reply

Marsh Posté le 18-01-2010 à 11:16:56   

Reply

Marsh Posté le 18-01-2010 à 14:28:45    

Pourquoi faire le mapping, puisque le mapping existe déjà, d'après ce que l'on voit sur la petite image ou l'adresse du disque est déjà associée à la lettre Z ?
Est-ce qu'il y a un message d'erreur (et lequel), si on enlève les lignes à propos du WshNetwork ?

Reply

Marsh Posté le 18-01-2010 à 15:58:07    

Non le script est stable et fonctionne parfaitement sans le mapping. Mais à ce moment là, comme puis-je faire pour atteindre le serveur FTP à nettoyer ? On m'a justement conseillé de ne pas passer par le chemin UNC et de mapper le chemin via WSHNetwork.MapNetworkDrive.


Message édité par ZeratuuL le 18-01-2010 à 15:59:29
Reply

Marsh Posté le 18-01-2010 à 16:14:24    

Désolé, mais votre réponse ressemble à celle de Didier Deschamps caricaturé par les guignols : Est-ce que vous êtes content ? Non, bien au contraire, je suis content.

Citation :

le script est stable et fonctionne parfaitement sans le mapping.

Bon, alors il n'y a pas de problème ?

Citation :

comme puis-je faire pour atteindre le serveur FTP à nettoyer ?

Ah, il y aurait donc un problème ? Lequel ?
 
Donc, est-ce que vous pourriez être plus clair, et dire si oui ou non, les fichiers du disque Z sont nettoyés ou pas, quand on enlève les lignes du mapping ? Je devine que ces lignes seraient inutiles car le disque serait déjà mappé, mais je n'en suis pas sûr car je n'ai pas la même configuration, et je ne peux pas tester.


Message édité par olivthill le 18-01-2010 à 16:15:00
Reply

Marsh Posté le 18-01-2010 à 19:43:27    

Hé bien je répondais simplement à votre propre question : "si on enlève les lignes à propos du WshNetwork ?"
 
Si on les enlèves (je les ais mis en commentaire) le dossier local est nettoyé. Mais je ne sais pas comment accéder au serveur FTP par contre c'est bien ça la problème :/ J'ai bien deux dossier à nettoyer mais pour le moment le script fonctionne pour un seul dossier sur deux.
 
Je ne m'y connais pas beaucoup en prog, et je viens juste de découvrir le mapping, pourriez-vous m'éclairer s'il vous plait ?

Reply

Marsh Posté le 18-01-2010 à 23:33:44    

Le mapping est juste le fait d'assigner une lettre à un lecteur distant. Voir http://www.topbits.com/how-to-map-a-network-drive.html
Donc, si l'on voit "z:" dans Windows explorer, cela veut dire que le disque est bien mappé.
Donc, il semble que le problème ne soit pas dû au mapping, mais serait dû à autre chose, par exemple à des protections sur le disque distant (c'est juste une hypothèse).

Reply

Marsh Posté le 19-01-2010 à 00:16:09    

Hmm .. d'accord ..
 
Pourtant, au début quand personne ne m'avait parlé du mapping j'avais fait ça mais ça ne fonctionnait pas non plus :

DossierAlertesWebcam = "\\172.20.59.15\emeric"


 
A quel genre de protection penses-tu ? Pour m'y connecter je dois effectivement rentré un login+pw. Est-ce que je devrais configurer le script en y insérant le login/pw ? Si oui comment :/


Message édité par ZeratuuL le 19-01-2010 à 00:17:01
Reply

Marsh Posté le 20-01-2010 à 12:20:12    

Problème résolu, j'ai abandonné le mapping et j'ai retiré la conversion integer. Ça fonctionne !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed