[VBS] Monter / Démonter / Contrôler des lecte

Fermé
lopezmathieu Messages postés 20 Date d'inscription mardi 31 août 2010 Statut Membre Dernière intervention 14 août 2012 - 23 juin 2011 à 14:41
 Utilisateur anonyme - 23 juin 2011 à 17:40
Bonjour,

Je fais appel à vous aujourd'hui car je bloque sur script.

Voici le pseudo algo de ce que je souhaite faire :

si r: existe alors
	si r: != \\serveur1\partage1\ alors
		demonte lecteur r:
		monte lecteur r: == \\serveur1\partage1\
	fin si
sinon
	monte lecteur r: == \\serveur1\partage1\
fin si


Voici ce que je suis arrivé à pondre :

Set NT = WScript.CreateObject("WScript.Network")

If NT.DriveExists("R:") THEN
	If ''r: != \\serveur1\partage1\ alors
		NT.RemoveNetworkDrive "R:", bForce, true
		NT.MapNetworkDrive "R:","\\serveur1\partage1\","True"
	End If
Else
	NT.MapNetworkDrive "S:","\\serveur1\partage1\","True"
End If


Vous comprendrez bien vite que je ne suis pas développeur :)
Mon blocage est à la ligne 3, je ne sais pas comment récupérer le chemin de mon lecteur pour tester si il est égal à une chaîne de caractère.

Alors je présume qu'avant de lancer le If, il fait récupérer le chemin du r: dans une variable pour la comparer ensuite à la chaîne de caractère, mais je ne sais pas le faire.

Merci pour votre aide !
Mathieu
A voir également:

2 réponses

Bonjour,

Voici comment je procède :

n.b. Ce n'est pas la seule façon ...

'--------------------------------------------------------------------- 
' 
' Fichier VBScript : Rezo.vbs 
' 
' Auteur : Lupin 
' 
' Création : 28 Juin 2006 
' 
' Modifié  : Jeudi, le 23 Juin 2011 
' 
' Version 1.3.0 
' 
'--------------------------------------------------------------------- 
' 

  Const LecteurReseau = "R:" 
  Const RepDestService = "\\Serveur1\Dossier\   
  Dim objReseau, objLecteurs 

  On Error Resume Next 

  Set objReseau = CreateObject("WScript.Network") 
  Set objLecteurs = objReseau.EnumNetworkDrives 

  If ( objLecteurs.Count > 0 ) then 
    For i = 0 To (objLecteurs.Count-1) Step 2 
      If ( objLecteurs.Item(i) = LecteurReseau ) Then 
        objReseau.RemoveNetworkDrive LecteurReseau, "True", "True" 
      End If 
    Next 
  End If 
     
  objReseau.MapNetworkDrive LecteurReseau, RepDestService, "True" 

  ' Traitement 
     
  objReseau.RemoveNetworkDrive LecteurReseau, True, True 

  Set objReseau = Nothing 
  Set objLecteurs = Nothing 
     
WScript.Quit(0) 

'--------------------------------------------------------------------- 
' 


Cdt

Lupin
0
lopezmathieu Messages postés 20 Date d'inscription mardi 31 août 2010 Statut Membre Dernière intervention 14 août 2012
23 juin 2011 à 17:12
Merci Lupin, le problème est que a aucun endroit tu ne contrôle le chemin vers lequel pointe ton lecteur.
Bref, pas grave j'ai trouvé une autre solution, moins propre mais qui fera l'affaire.
0
re:

Je comprends, mais dans ma façon de faire, je map
toujours sur une lettre non utilisé, j'effectue le traitement
et je démappe.

Bien sur, si tu dois obligatoirement contrôler un mapping
existant c'est autre chose.

Information de déboggage :

Pour débogger ton script vbs.

1.) Créer un raccourci du fichier VBS

2.) Ouvrir les propriétés du raccourci

3.) Ajouter à la fin du champ cible [ espace //x ]

4.) Lancer le raccourci et répondre [ OK ] au premier panorama.

5.) Tu seras alors en mode debbug (pas à pas de ton script).

Cdt

Lupin
0