Jump to content

Recommended Posts

Posted

I used the piece of code below to validate existence of a network map; unfortunately this doesn't work under Windows 7 (probably due to the way this operating system is storing those mappings). On Windows 7 this returns always False.

 

Set FSysObj = CreateObject("Scripting.FileSystemObject")
If FSysObj.DriveExists("Q:\") = False Then
   MsgBox "Drive not available!"
End If

 

Please, can someone give me some hints in this matter? Thank you.

 

Regards,

Mircea

Posted

I've just recently upgraded to Win7, and use Scripting.FileSystemObject with LISP without issue. I've been wanting to port a version of my code to .NET, so I will test at work tomorrow.

Posted (edited)

I just tested this on Win7 (64-Bit) + Civil 3D 2011, and was successful.

 

Code tested:

 

[font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Imports[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] System[/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Imports[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] System.Runtime[/size][/font][/size][/font]

[font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Imports[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] Autodesk.AutoCAD.ApplicationServices[/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Imports[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] Autodesk.AutoCAD.Runtime[/size][/font]
[/size][/font][font=Consolas][size=2][font=Consolas][size=2] [/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Public [/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Class [/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#2b91af][font=Consolas][size=2][color=#2b91af][font=Consolas][size=2][color=#2b91af]Commands[/color][/size][/font][/color][/size][/font][/color][/size][/font]

[font=Consolas][size=2][font=Consolas][size=2]  <[/size][/font][/size][/font][font=Consolas][size=2][color=#2b91af][font=Consolas][size=2][color=#2b91af][font=Consolas][size=2][color=#2b91af]CommandMethod[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2]([/size][/font][/size][/font][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515]"FSOTEST"[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2])> _[/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]  Public [/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Sub[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] FSOTEST()[/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]    Dim[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] FSysObj = CreateObject([/size][/font][/size][/font][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515]"Scripting.FileSystemObject"[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2])[/size][/font]
[/size][/font][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000]    'If FSysObj.DriveExists("V:\") = False Then[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]    If[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2] FSysObj.DriveExists([/size][/font][/size][/font][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515]"Q:\"[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2]) = [/size][/font][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]False [/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Then[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][/color][/size][/font][/color][/size][/font][/color][/size][/font][/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2]      MsgBox([/size][/font][/size][/font][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515]"Drive not available!"[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2])[/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]    Else[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2]      MsgBox([/size][/font][/size][/font][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515][font=Consolas][size=2][color=#a31515]"Drive exists!"[/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][font=Consolas][size=2])[/size][/font]
[/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]    End [/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]If[/color][/size][/font]
[/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]  End [/color][/size][/font][/color][/size][/font][/color][/size][/font][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Sub[/color][/size][/font][/color][/size][/font][/color][/size][/font]

[size=2][font=Consolas][color=#0000ff][size=2][font=Consolas][color=#0000ff][size=2][font=Consolas][color=#0000ff]End [/color][/font][/size][/color][/font][/size][/color][/font][/size][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]Class[/color][/size][/font][/color][/size][/font][/color][/size][/font]

 

Note - Compiled (.NET Framework 3.5) & debugged using Visual Basic 2010 Express.

Edited by BlackBox
Code formatting, spaced removed when pasted.
Posted

RenderMan, thank you for your answers.

I managed to find another Windows 7 station and that piece of code is working as expected. So, the issue is not related to the operating system as I suspected, but rather is something with that particular workstation.

 

Regards,

Mircea

Posted

Not sure about Scripting.FileSystemObject but for .NET could use DriveInfo

and P/Invoke WnetGetConnection to get the UNC path for a mapped drive

 

I can not get the code to format correctly

 

[color=blue]Imports[/color] System.IO
[color=blue]Module[/color] [color=#2b91af]Module1[/color]
    [color=blue]Sub[/color] Main()         
[color=blue]For[/color] [color=blue]Each[/color] drive [color=blue]As[/color] [color=#2b91af]DriveInfo[/color] [color=blue]In[/color] [color=#2b91af]DriveInfo[/color].GetDrives()
           [color=blue]If[/color] drive.IsReady [color=blue]Then[/color]
               [color=#2b91af]Console[/color].WriteLine(drive.Name & [color=#a31515]" "[/color] & drive.DriveType.ToString())
           [color=blue]End[/color] [color=blue]If[/color]
       [color=blue]Next[/color]         
[color=blue]Dim[/color] dri [color=blue]As[/color] [color=blue]New[/color] [color=#2b91af]DriveInfo[/color]([color=#a31515]"C:\"[/color])         
[color=blue]If[/color] dri.IsReady [color=blue]Then[/color]            
[color=#2b91af]Console[/color].WriteLine(dri.Name & [color=#a31515]" Is ready"[/color])        
[color=blue]End[/color] [color=blue]If[/color]         
[color=#2b91af]Console[/color].ReadKey()
    [color=blue]End[/color] [color=blue]Sub[/color] 
[color=blue]End[/color] [color=blue]Module[/color]

Posted

Very neat alternative Jeff; I look forward to testing when I get back to work. :wink:

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...