kdh1966 Posted November 2, 2009 Share Posted November 2, 2009 Hope someone can point me in the right direction on this. I am using the drive mapping functions in AutoIt to connect to a network drive. I used DriveMapAdd ("*"...) to choose the next available drive letter. Here is the problem. This mapped to a drive letter that was in use but the server was unavailable. I tried using the DriveStatus function but the "INVALID" return value does not help. There is a big difference between a drive letter not existing and the mapped drive being unavailable. I checked each of the related functions but each shows that the drive would be available. Does anyone have any suggestions to help with this? Link to comment Share on other sites More sharing options...
evilertoaster Posted November 2, 2009 Share Posted November 2, 2009 (edited) You could try Ping()ing the server first to get a better handle on the network status. Edit: Also, you are checking @error of DriveMapAdd() already right? Edited November 2, 2009 by evilertoaster Link to comment Share on other sites More sharing options...
kdh1966 Posted November 3, 2009 Author Share Posted November 3, 2009 You could try Ping()ing the server first to get a better handle on the network status.Edit: Also, you are checking @error of DriveMapAdd() already right?Thanks for reply. The DriveMapAdd function mapped the drive correctly but to a drive letter that was being used. It ignored the fact that a drive letter was mapped but in a disconnected state so there is no error condition according to the function. I wanted to use the DriveStatus function to check the status of a drive letter before mapping but it also ignores drives in a disconnected state. The "invalid" return value from that function means that the drive letter does not exist or a network share is unavailable. I have found no AutoIt function to get the information from a mapped drive when in the disconnected state. This includes getting the server information so pinging would also not be an option. Again, thanks for taking the time to replay. I appreciate it. Link to comment Share on other sites More sharing options...
99ojo Posted November 3, 2009 Share Posted November 3, 2009 (edited) Thanks for reply. The DriveMapAdd function mapped the drive correctly but to a drive letter that was being used. It ignored the fact that a drive letter was mapped but in a disconnected state so there is no error condition according to the function. I wanted to use the DriveStatus function to check the status of a drive letter before mapping but it also ignores drives in a disconnected state. The "invalid" return value from that function means that the drive letter does not exist or a network share is unavailable. I have found no AutoIt function to get the information from a mapped drive when in the disconnected state. This includes getting the server information so pinging would also not be an option. Again, thanks for taking the time to replay. I appreciate it. Hi, this gives local drive letter and connection state. #include <array.au3> ; only needed to display array Global $ardriveletter [1] [2] _getdriveletter () ; code what you want in the for loop to detect used letters for not connecting ;For $i = 0 To UBound ($ardriveletter) - 1 ;MsgBox (0, "Used Drive Letters", $ardriveletter [$i] ;Next _ArrayDisplay ($ardriveletter) Func _getdriveletter () $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $x = 0 $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkConnection", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems $ardriveletter [$x] [0] = $objItem.LocalName $ardriveletter [$x] [1] = $objItem.ConnectionState ReDim $ardriveletter [$x + 1] [2] Next EndIf EndFunc ;-)) Stefan P.S: I may misunderstood. Maybe this could be a solution: if FileExists ("\\server\share") Then MsgBox (0,"", "Exist") EndIf Edited November 3, 2009 by 99ojo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now