Como cuento los archivos que contiene una carpeta

14/07/2006 - 17:46 por van | Informe spam
hola,


Existe una instruccion que me diga cuantos archivos existen en una
carpeta, por ejemplo con las siguientes instrucciones asigno el path
deseado

Set oFS= CreateObject("Scripting.FileSystemObject")
Set oFolder= oFS.GetFolder("C:\My Documents\")

ya con oFolder. Files obtengo la colección con todos los archivos de
la carpeta, pero como hago para saber cuantos archivos tiene esa
carperta, solo archivos sin contar subdirectorios.

Agradezco su ayuda

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
14/07/2006 - 18:57 | Informe spam
van,

msgbox oFolder.Files.Count


AMB

"van" wrote:

hola,


Existe una instruccion que me diga cuantos archivos existen en una
carpeta, por ejemplo con las siguientes instrucciones asigno el path
deseado

Set oFS= CreateObject("Scripting.FileSystemObject")
Set oFolder= oFS.GetFolder("C:\My Documents\")

ya con oFolder. Files obtengo la colección con todos los archivos de
la carpeta, pero como hago para saber cuantos archivos tiene esa
carperta, solo archivos sin contar subdirectorios.

Agradezco su ayuda


Respuesta Responder a este mensaje
#2 van
14/07/2006 - 19:36 | Informe spam
Gracias por tu ayuda si me funciono, pero uando llega el
oFolder.Files.Count a 0, y lo comparo contra un cero el ciclo que estoy
realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
una vez que ya no hay mas files???


Gracias


Alejandro Mesa ha escrito:

van,

msgbox oFolder.Files.Count


AMB

"van" wrote:

> hola,
>
>
> Existe una instruccion que me diga cuantos archivos existen en una
> carpeta, por ejemplo con las siguientes instrucciones asigno el path
> deseado
>
> Set oFS= CreateObject("Scripting.FileSystemObject")
> Set oFolder= oFS.GetFolder("C:\My Documents\")
>
> ya con oFolder. Files obtengo la colección con todos los archivos de
> la carpeta, pero como hago para saber cuantos archivos tiene esa
> carperta, solo archivos sin contar subdirectorios.
>
> Agradezco su ayuda
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
14/07/2006 - 20:08 | Informe spam
van,

Por que mejor no posteas el codigo?

realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
una vez que ya no hay mas files???



0


AMB

"van" wrote:

Gracias por tu ayuda si me funciono, pero uando llega el
oFolder.Files.Count a 0, y lo comparo contra un cero el ciclo que estoy
realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
una vez que ya no hay mas files???


Gracias


Alejandro Mesa ha escrito:

> van,
>
> msgbox oFolder.Files.Count
>
>
> AMB
>
> "van" wrote:
>
> > hola,
> >
> >
> > Existe una instruccion que me diga cuantos archivos existen en una
> > carpeta, por ejemplo con las siguientes instrucciones asigno el path
> > deseado
> >
> > Set oFS= CreateObject("Scripting.FileSystemObject")
> > Set oFolder= oFS.GetFolder("C:\My Documents\")
> >
> > ya con oFolder. Files obtengo la colección con todos los archivos de
> > la carpeta, pero como hago para saber cuantos archivos tiene esa
> > carperta, solo archivos sin contar subdirectorios.
> >
> > Agradezco su ayuda
> >
> >


Respuesta Responder a este mensaje
#4 van
14/07/2006 - 21:32 | Informe spam
Este es el codigo y es una parte de un DTS

'**********************************************************************
' Visual Basic ActiveX Script
'************************************************************************

Function Main()
Set oFS= CreateObject("Scripting.FileSystemObject")
Set oFolder= oFS.GetFolder("C:\My Documents\Archivos\PRUEBA")




Main = DTSTaskExecResult_Success

For Each oFile in oFolder.files

If ( oFolder.Files.Count = 1) Then 'si en esta linea pongo un 0 se
encicla

msgbox("Saliendo")
Main = DTSTaskExecResult_Failure
Exit For

Else

msgbox oFolder.Files.Count
MsgBox("Estoy borrando: " )
MsgBox( oFile.name)
oFile.delete true
End If


Exit For


Next

End Function























Alejandro Mesa ha escrito:

van,

Por que mejor no posteas el codigo?

> realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
> una vez que ya no hay mas files???

0


AMB

"van" wrote:

> Gracias por tu ayuda si me funciono, pero uando llega el
> oFolder.Files.Count a 0, y lo comparo contra un cero el ciclo que estoy
> realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
> una vez que ya no hay mas files???
>
>
> Gracias
>
>
> Alejandro Mesa ha escrito:
>
> > van,
> >
> > msgbox oFolder.Files.Count
> >
> >
> > AMB
> >
> > "van" wrote:
> >
> > > hola,
> > >
> > >
> > > Existe una instruccion que me diga cuantos archivos existen en una
> > > carpeta, por ejemplo con las siguientes instrucciones asigno el path
> > > deseado
> > >
> > > Set oFS= CreateObject("Scripting.FileSystemObject")
> > > Set oFolder= oFS.GetFolder("C:\My Documents\")
> > >
> > > ya con oFolder. Files obtengo la colección con todos los archivos de
> > > la carpeta, pero como hago para saber cuantos archivos tiene esa
> > > carperta, solo archivos sin contar subdirectorios.
> > >
> > > Agradezco su ayuda
> > >
> > >
>
>
Respuesta Responder a este mensaje
#5 Juan Ant.
15/07/2006 - 11:29 | Informe spam
Si vas a recorrer una colección, y durante el recorrido vas a eliminar
elementos de la misma, lo mejor es no hacer un For Each, sino un For
descendente:

For I = oFolder.Files.Count To 1 Step -1

MsgBox oFolder.Files.Count
MsgBox("Estoy borrando: " )
MsgBox( oFolder.Files(I).Name)

oFolder.Files(I).Delete True

Next

No sé si es exactamente eso lo que quieres hacer. ¿Por qué quieres
comparar con 1 o con 0? ¿Quieres ir borrando ficheros hasta que sólo
quede 1 y en ese momento dar un error? ¿O realmente lo que quieres es
borrarlos todos, pero si no hay ninguno cuando vas a borrar, que dé un
error? Si es así, esa comprobación deberías ponerla antes de entrar
en el bucle.

Tú dirás :)

van ha escrito:

Este es el codigo y es una parte de un DTS

'**********************************************************************
' Visual Basic ActiveX Script
'************************************************************************

Function Main()
Set oFS= CreateObject("Scripting.FileSystemObject")
Set oFolder= oFS.GetFolder("C:\My Documents\Archivos\PRUEBA")




Main = DTSTaskExecResult_Success

For Each oFile in oFolder.files

If ( oFolder.Files.Count = 1) Then 'si en esta linea pongo un 0 se
encicla

msgbox("Saliendo")
Main = DTSTaskExecResult_Failure
Exit For

Else

msgbox oFolder.Files.Count
MsgBox("Estoy borrando: " )
MsgBox( oFile.name)
oFile.delete true
End If


Exit For


Next

End Function























Alejandro Mesa ha escrito:

> van,
>
> Por que mejor no posteas el codigo?
>
> > realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
> > una vez que ya no hay mas files???
>
> 0
>
>
> AMB
>
> "van" wrote:
>
> > Gracias por tu ayuda si me funciono, pero uando llega el
> > oFolder.Files.Count a 0, y lo comparo contra un cero el ciclo que estoy
> > realizando se me encicla, mi pregunta es que envia oFolder.Files.Count,
> > una vez que ya no hay mas files???
> >
> >
> > Gracias
> >
> >
> > Alejandro Mesa ha escrito:
> >
> > > van,
> > >
> > > msgbox oFolder.Files.Count
> > >
> > >
> > > AMB
> > >
> > > "van" wrote:
> > >
> > > > hola,
> > > >
> > > >
> > > > Existe una instruccion que me diga cuantos archivos existen en una
> > > > carpeta, por ejemplo con las siguientes instrucciones asigno el path
> > > > deseado
> > > >
> > > > Set oFS= CreateObject("Scripting.FileSystemObject")
> > > > Set oFolder= oFS.GetFolder("C:\My Documents\")
> > > >
> > > > ya con oFolder. Files obtengo la colección con todos los archivos de
> > > > la carpeta, pero como hago para saber cuantos archivos tiene esa
> > > > carperta, solo archivos sin contar subdirectorios.
> > > >
> > > > Agradezco su ayuda
> > > >
> > > >
> >
> >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida