[VBS][DriveExist]

wAx Messages postés 1596 Date d'inscription   Statut Membre Dernière intervention   -  
 doms -
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. doms
     
    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
  2. grivemusicienne
     
    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