VBScript – Crear Directorio y subcarpetas recursivamente

El siguiente código es algo que requerí investigar un poco ya que me tope que VBScript no tiene la capacidad de crear el directorio principal y sub carpetas con la instrucción CreateFolder Ejemplo Incorrecto:

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
DirectorioCompleto = "C:\Directorio1\Subcarpeta1\Subcarpeta2\"
oFSO.CreateFolder DirectorioCompleto

Para crear el directorio completo “C:\Directorio1\Subcarpeta1\Subcarpeta2\” se deben crear las carpetas una a una en el cual podremos utilizar la siguiente función.

Código Función Crear Directorio y Subcarpetas

Sub CreateDirs(MyFullPath)

    Dim arrDirs, i, idxFirst, objFSO, strDir, strDirBuild
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    strDir = objFSO.GetAbsolutePathName(MyFullPath)
    arrDirs = Split(strDir, "\")

    If Left(strDir, 2) = "\\" Then
        strDirBuild = "\\" & arrDirs(2) & "\" & arrDirs(3) & "\"
        idxFirst = 4
    Else
        strDirBuild = arrDirs(0) & "\"
        idxFirst = 1
    End If

    For i = idxFirst To UBound(arrDirs)
        strDirBuild = objFSO.BuildPath(strDirBuild, arrDirs(i))
        If Not objFSO.FolderExists(strDirBuild) Then
            objFSO.CreateFolder strDirBuild
        End If
    Next

    Set objFSO = Nothing
End Sub

Ejemplo como enviar a llamar la función

Public Sub Prueba ()
Dim saveFolder As String
saveFolder = "C:\Directorio1\Subcarpeta1\Subcarpeta2\"
If Not oFSO.FolderExists(saveFolder) Then
  CreateDirs saveFolder
End If
End Sub

 

Leer:  VBScript - Crear inventario de red local automático en Excel
Fernando O.

Fernando O.

Soy analista de sistemas actualmente trabajo en una empresa con mas de 200 empleados que utilizan equipo de computo al cual se les da soporte en el departamento.
Uno de mis pasatiempos fuera de la empresa es escribir artículos para PortalMasTips donde documento los problemas, inquietudes y detalles interesantes que se presentan.
Fernando O.

Latest posts by Fernando O. (see all)

Deja una respuesta

avatar
 
Archivos de fotos e imágenes
 
 
 
Archivos de audio y video
 
 
 
Otros tipos de archivos
 
 
 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Suscribir  
Notificar de
Compartir
Twittear
Pin
Más en Tip VBScript
Obtener espacio en disco de computadora o servidor remotamente

Cerrar