[VBS][DriveExist]

Bonjour à tous

je rencontre quelques problemes avec la fonction DriveExists. Voici la section de code, qui pourtant me semble pas si compliquée, mais qui me pose soucis:

If filesys.DriveExists("x") Then 

WshNetwork.RemoveNetworkDrive "x:", true
end if
WshNetwork.MapNetworkDrive "x:", chemin, false, base_log, base_pass


Le probleme est que j'ai bien l'impression qu'il rentre dans le if meme si la lecteur x n'existe pas. Résultat, je me retrouve avec ce message d'erreur:

WSHNetwork.RemoveNetworkDrive: Cette connexion r‚seau n'existe pas.  


Mais si elle n'existe pas, pourquoi rentre t'il dans le if ??

Je vous remercie de vos lumieres

2 réponses

  1. Bonsoir,

    J'ai rencontré le même problème .

    La lettre précedemment mappé avait ete fait a la main en persitent.

    pour la supprimer j'ai utiliser la cmd "WshNetwork.RemoveNetworkDrive "x:", true , true"

    Le 2eme "true" met a jour le profil user.
    2
    1. essaie plutôt ça (je te laisse décommenter ce que tu veux car je mappe u: si c'est pas fait) :
      Dim OFS, MonFichier, Result, net, oUser
      '>crée la référence du dossier
      Set OFS = CreateObject("Scripting.FileSystemObject")
      Set net = WScript.CreateObject("WScript.Network")
      ' >recup du user
      oUser = net.username
      '>Obtient le fichier, pas obligatoire, on peut forcer la lettre
      'Set MonFichier = OFS.GetFile("u:\fichref.log")
      '>Obtient la lettre du lecteur.
      'Result = MonFichier.Drive
      ' >on force la lettre :
      Result = "u:"
      '>vérifie existence drive
      'If OFS.DriveExists(Result) = true Then MsgBox "ok. u: est mappé"
      If OFS.DriveExists(Result) = false Then net.MapNetworkDrive "U:", "\\duchmol\dugland",,oUser
      'Then MsgBox "ok. u: n'est pas mappé"
      1