Página 1 de 1

Detectar número máximo de archivos.

Publicado: 28 Jul 2012, 15:00
por Enigma
Muy buenas a todos :smt004 Soy nuevo en este foro así que perdón si cometo algún fallo. Mi tema es el siguiente. Llevo poco tiempo programando en Autoit, y estoy haciendo un programa. Pero hay algo que me preocupa en el programa y es un erro que sale. Primero pongo la parte del código que me da roblemas y luego lo explico un poco:

Código: Seleccionar todo

Local $FileList = _FileListToArray(@HomeDrive)
FOR $a = 0 to 100
	filewrite ("ejemplo.txt", @HomeDrive & "\" & $FileList[$a]  & @CRLF)

	Next
Bien, me lista lo archivos y carpetas de @homedrive. El problema, llega cuando $FileList[$a] ya no tiene más argumentos, por lo que el programa suelta un error indicando que hay demasiados argumentos... Es decir, ésto haría un bucle de 0 a 100 poniendo las carpetas, pero si hay menos de 100 carpetas, me da un error. He intentado controlar la salida con un if not FileExist () pero no me está dando buenos resultados. Espero que me puedan ayudar y gracias de antemano. :smt023

Re: Detectar número máximo de archivos.

Publicado: 28 Jul 2012, 23:38
por chekok
Si lo que quieres es listar en un .txt los directorios y archivos del disco raiz (normalmente C:\), el código que necesitas sería exactamente este:

Código: Seleccionar todo

#include <File.au3>
#include <Array.au3> 

Local $FileList = _FileListToArray(@HomeDrive)
Local $listado = _ArrayToString($FileList,@CRLF)
filewrite ("ejemplo.txt", $listado)
Pruébalo, verás que no se produce ningún error y genera un fichero "ejemplo.txt" con este formato:

C:\59
C:\$Recycle.Bin
C:\aqua_bitmap.cpp
C:\Archivos de programa
C:\autoexec.bat
C:\config.sys
C:\Curso_Fuentes
C:\cygwin
C:\Descargas
C:\Documents and Settings
C:\ec10ce8f7c78e22a8646c
C:\eula.1028.txt
C:\hiberfil.sys
...

Si no es lo que buscas, contesta con una explicación un poco más elaborada.

Un saludo y espero haberte aclarado algo!!!

Re: Detectar número máximo de archivos.

Publicado: 29 Jul 2012, 15:10
por Enigma
Perfecto, era lo que necesitaba :smt040 Muchas gracias por tu ayuda chekok :smt006