On Feb 13, 2006, at 9:59 AM, Joseph J. Strout wrote:
At 9:06 AM -0700 2/13/06, Tim Jones wrote:
But as I look at your message again, I'm confused -- you say you
already have code that walks through the path, creating missing
directories as you go. So you shouldn't need to be using
PathTypeShell, or any other path type for that matter -- you can
just start at the top, and give .Child one file name at a time,
can't you?
This is what seems to be eluding me...
OK, try this -- untested, but should be in the right ballpark:
Dim parts() As String = Split(tmpPath, "/")
Tried that ^^
Dim parent As FolderItem = GetFolderItem( "/" + parts(1), _
FolderItem.PathTypeShell )
parts.Remove 1
parts.Remove 0
for each part As String in parts
Dim child As FolderItem = parent.Child( part )
if not child.Exists then child.CreateAsFolder
That's the secret sauce - I was still trying to deal with the entire
path as a shellpath.
parent = child
next
That should be it, more or less -- we start by splitting the path into
parts; note that parts(0) will be the empty string, since the path
starts with "/". The top-level item (e.g. "Volumes") is the only
thing we have to get in PathTypeShell mode, but we have to remember to
prepend the "/" that was stripped out by Split. Then we're done with
that, and we can remove it and the empty string from our 'parts' list.
Then we simply iterate over the remaining parts, getting each one as a
child of the current parent, and creating it as a folder if it doesn't
exist.
Bingo. Just tried it and my issue is resolved (beats the heck out of a
shell and 'mkdir -p')
Thanks,
Tim
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>