none
Mapear unidade de Rede com loop ou while RRS feed

  • Pergunta

  • Bom dia,

    Pessoal alguém pode me ajudar com um script que caso ele não consiga mapear de primeira vez uma pasta ele tenta até conseguir?

    Mais ou menos assim:

     

    do 
      For i = 0 to oDrives.Count -1 Step 2
       if LCase("Q:") = LCase(oDrives.Item(i)) then
         Retorno = true
       else
        if not LCase("Q:") = LCase(oDrives.Item(i)) then
          wshNetwork.MapNetworkDrive "Q:", "\\server\pasta", false , "dominio\user" , "123"
          Retorno = false
        else
          Retorno = true
        end if     
       end if
      Next
    loop while Retorno = true

     

    Já tentei de diversas vezes, está ultima sei que está errada também, mas queria que o script desse um loop ou while e tentasse até conseguir e assim que conseguir mapear ele sai do script.

     

    Obrigado.


    Warley
    segunda-feira, 30 de janeiro de 2012 13:03

Respostas

  • Warley,

    Veja se isto ajuda, criei uma função que verifica se o drive existe e a utilizei no Loop.

    Coloquei um "sleep" dentro do Loop para que aguarde pelo menos 1segundo entre uma tentativa e outra.

     

    Set WshNetwork = WScript.CreateObject("WScript.Network")
    on error resume next
    wshNetwork.MapNetworkDrive "Q:", "\\server\pasta", false , "dominio\user" , "123"
    
    While not(DriveExiste("Q:"))
    	wshNetwork.MapNetworkDrive "Q:", "\\server\pasta", false , "dominio\user" , "123"
    	wscript.sleep 1000
    wend
    
    
    
    
    Function DriveExiste(strUnidade)
    	DriveExiste=false
    	strUnidade=LCase(strUnidade)
    
    	Set WshNetwork = WScript.CreateObject("WScript.Network")
    	Set oDrives = WshNetwork.EnumNetworkDrives
    
    
    	For i = 0 to oDrives.Count - 1 Step 2
    		if  strUnidade =LCase(oDrives.Item(i)) then
    			DriveExiste=True
    			exit function
    		end if
    	Next
    
    end function
    



    Fábio de Paula Junior
    • Sugerido como Resposta Fábio JrModerator terça-feira, 31 de janeiro de 2012 10:57
    • Marcado como Resposta Warley Eric terça-feira, 31 de janeiro de 2012 12:17
    segunda-feira, 30 de janeiro de 2012 15:49
    Moderador