I have created folders using my VBscript. when i give a folder path, the script is creating only the last folder, if the last but one folder does not exists, it will fail... I need a vbscript code to create the entire folder structure on the single go. like mkdir -p in unix
You could use this function:
Const PATH = "X:\folder0\folder1\folder2"
Set fso = CreateObject("Scripting.FileSystemObject")
BuildFullPath PATH
Sub BuildFullPath(ByVal FullPath)
If Not fso.FolderExists(FullPath) Then
BuildFullPath fso.GetParentFolderName(FullPath)
fso.CreateFolder FullPath
End If
End Sub
Or simply call the mkdir command from your script:
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "cmd /c mkdir X:\folder1\folder2\folder3"
You must split the full path and create each folder. Example function:
Function CreateFolderRecursive(FullPath)
Dim arr, dir, path
Dim oFs
Set oFs = WScript.CreateObject("Scripting.FileSystemObject")
arr = split(FullPath, "\")
path = ""
For Each dir In arr
If path <> "" Then path = path & "\"
path = path & dir
If oFs.FolderExists(path) = False Then oFs.CreateFolder(path)
Next
End Function
Late to the show, but the Shell.Application object works for me in XP, as follows ...
with CreateObject("Shell.Application")
set oFolder = .NameSpace("C:\")
if (not oFolder is nothing) then oFolder.NewFolder("a\b\c\d")
end with
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With