JSI Tip 10441. How can VBScript create multiple folders in a path, like the MkDir command?


The MkDir (MD) command will create multiple folders in a path. If you want to create C:\Folder1\Folder2\Folder3\Folder4, MakeDir will create them all.

In VBScript, the CreateFolder method will only create one folder.

I have scripted MakeDir.vbs to emulate the MkDir command.

The syntax for using MakeDir.vbs is:

cscript //nologo MakeDir.vbs FolderPath

Where FolderPath is the Fully Qualified Folder Path, like "C:\Documents and Settings\Jerry\My Documents\My Home Owners Association\Public Records".

MakeDir.vbs contains:

dim objArguments, Obj
Set objArguments = Wscript.Arguments
If WScript.Arguments.Count = 0 then
   Wscript.Echo "Syntax: cscript //nologo MakeDir.vbs FolderPath"
   Wscript.Quit
End If
Obj = objArguments(0)
X = MakeDir(Obj)
Wscript.Quit
Function MakeDir (strPath)
	Dim strParentPath, objFSO
  Set objFSO = CreateObject("Scripting.FileSystemObject")
	On Error Resume Next
	strParentPath = objFSO.GetParentFolderName(strPath)

  If Not objFSO.FolderExists(strParentPath) Then MakeDir strParentPath
	If Not objFSO.FolderExists(strPath) Then objFSO.CreateFolder strPath
	On Error Goto 0 
  MakeDir = objFSO.FolderExists(strPath)
End Function



Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish