Tools Links Login

CreateDirectoryStruct

Creates all non-existing folders in a path. Local or network UNC path.

Original Author: Bill Jones

Inputs

CreateThisPath as string

Code

Private Sub CreateDirectoryStruct(CreateThisPath As String)
  'do initial check
  Dim ret As Boolean, temp$, ComputerName As String, IntoItCount As Integer, x%, WakeString As String
  Dim MadeIt As Integer
  If Dir$(CreateThisPath, vbDirectory) <> "" Then Exit Sub
  'is this a network path?
  If Left$(CreateThisPath, 2) = "\" Then ' this is a UNC NetworkPath
    'must extract the machine name first, then get to the first folder
    IntoItCount = 3
    ComputerName = Mid$(CreateThisPath, IntoItCount, InStr(IntoItCount, CreateThisPath, "") - IntoItCount)
    IntoItCount = IntoItCount + Len(ComputerName) + 1
    IntoItCount = InStr(IntoItCount, CreateThisPath, "") + 1
    'temp = Mid$(CreateThisPath, IntoItCount, x)
  Else  ' this is a regular path
    IntoItCount = 4
  End If
  
  WakeString = Left$(CreateThisPath, IntoItCount - 1)
  'start a loop through the CreateThisPath string
  Do
    x = InStr(IntoItCount, CreateThisPath, "")
    If x <> 0 Then
      x = x - IntoItCount
      temp = Mid$(CreateThisPath, IntoItCount, x)
    Else
      temp = Mid$(CreateThisPath, IntoItCount)
    End If
    IntoItCount = IntoItCount + Len(temp) + 1
    temp = WakeString + temp
    
    'Create a directory if it doesn't already exist
    ret = (Dir$(temp, vbDirectory) <> "")
    If Not ret Then
      'ret& = CreateDirectory(temp, Security)
      MkDir temp
    End If
    
    IntoItCount = IntoItCount  'track where we are in the string
    WakeString = Left$(CreateThisPath, IntoItCount - 1)
  Loop While WakeString <> CreateThisPath
  
End Sub

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 84 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.