Crear carpetas todas juntas

Iniciado por Angeldj27, 6 Febrero 2009, 19:59 PM

0 Miembros y 1 Visitante están viendo este tema.

Angeldj27

Saludos.
Se que co el MkDir se puede crear carpetas pero se pudira crear varias una dentro de otra osea:

MkDir "C:\Ok\OK1\Ok2

Que se cree la carpeta Ok y dentro de ella Ok1 y dentro de Ok1 se cree Ok2
que se creen todas con la misma instruccion.

Saludos..


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Novlucker

No entiendo, es justamente lo que puede hacer ese comando  :-\

Código (dos) [Seleccionar]
mkdir c:\a\b\c
Eso crea el árbol completo, no es necesaria otra función  :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Angeldj27

#2
Nop me tira error de paht not found y parece que no funciona asi bueno eso creo ;D
Si hubiera una funcion que me la cree el arbol seria bueno

Saludos..


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Novlucker

Mi error, tienes razón, estaba pensando en el comando de ms-dos, es por eso que tienes dos alternativas  :P

1.
Código (vb) [Seleccionar]
Shell("cmd /c mkdir c:\a\b\c")

2.
Código (vb) [Seleccionar]
1. Private Sub Command1_Click() 
   2.   
   3. On Error GoTo ErrSub 
   4.   
   5.     Dim i As Integer 
   6.     Dim Array_Dir As Variant 
   7.     Dim Sub_Dir As String 
   8.     Dim El_Path As String 
   9.   
  10.     El_Path = InputBox(" Escribir la ruta del directorio a crear " & _ 
  11.                        "con los subdirectorios", _ 
  12.                        " Crear varios niveles de directorios") 
  13.       
  14.     If El_Path = vbNullString Then 
  15.         Exit Sub 
  16.     End If 
  17.       
  18.     'Desglosa el path y llena el array con los _ 
  19.      subdirectorios que se irán creando 
  20.     Array_Dir = Split(El_Path, "\") 
  21.       
  22.     El_Path = vbNullString 
  23.       
  24.     'Recorre el vector anterior para ir creando uno por uno _ 
  25.      comenzando obviamente desde el directorio de primer nivel 
  26.     For i = LBound(Array_Dir) To UBound(Array_Dir) 
  27.         Sub_Dir = Array_Dir(i) 
  28.         If Sub_Dir <> vbNullString Then 
  29.            El_Path = El_Path & Sub_Dir & "\" 
  30.            If Right$(Sub_Dir, 1) <> ":" Then 
  31.               ' Verificamos que no exista 
  32.               If Dir(El_Path, vbDirectory) = vbNullString Then 
  33.                  'Crea la carpeta 
  34.                   Call MkDir(El_Path) 
  35.               End If 
  36.            End If 
  37.         End If 
  38.     Next 
  39.   
  40.     MsgBox " Directorio creado ", vbInformation 
  41.   
  42. 'Error 
  43. Exit Sub 
  44. ErrSub: 
  45.   
  46. MsgBox "Número de error: " & Err.Number & _ 
  47.        "Descripción del error: " & Err.Description, vbCritical 
  48.   
  49.   
  50. End Sub


http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/236-crear-directorio-y-subdirectorio.htm

Te estaba creando una función que hiciera justamente esto, pero luego de buscar la encontré ya armada  :D

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Karcrack

Hay un API para hacerlo... si no me equivoco :rolleyes:

Saludos ;D

Dessa

#5
Hola, proba si te sirve así:



If Dir("C:\OK1", vbDirectory) = "" Then MkDir "C:\OK1"
If Dir("C:\OK1\OK2", vbDirectory) = "" Then MkDir ("C:\OK1\OK2")
If Dir("C:\OK1\OK2\OK3", vbDirectory) = "" Then MkDir ("C:\OK1\OK2\OK3")



Saludos
Adrian Desanti

Angeldj27

Gracias por sus respuesta 

Cita de: Dessa en  6 Febrero 2009, 21:31 PM
Hola, proba si te sirve así:



If Dir("C:\OK1", vbDirectory) = "" Then MkDir "C:\OK1"
If Dir("C:\OK1\OK2", vbDirectory) = "" Then MkDir ("C:\OK1\OK2")
If Dir("C:\OK1\OK2\OK3", vbDirectory) = "" Then MkDir ("C:\OK1\OK2\OK3")



Saludos

Crearlo de esta forma no es problema lo queria era crearlas todas juntas pero voy a probar con la de  Novlucker a ver como me va.

Saludos..


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Krackwar ™

Código (VB) [Seleccionar]


Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'create the directory "c:\this\is\a\test\directory\", if it doesn't exist already
    MakeSureDirectoryPathExists "c:\this\is\a\test\directory\"
End Sub

WHK es mas u17r4m4573r31337 que yo



El error mas grande de el mundo es decir que el ser humano es inteligente.

Facismo , antifacismo , etc.. la misma mierda ..
Soy el-> http://tinyurl.com/fantasma-de-krackwar
Código (asm) [Seleccionar]

mov ecx,1000
Etiqueta:
invoke printf,"No Copiare en clases"
loop Etiq

Angeldj27

Thks. Me funciono de 10 se agradece  ;D

Saludos...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!