Página 1 de 1

funcion dir() para autoit :D

Publicado: 10 Feb 2011, 22:47
por xapu
se que es una tontadilla.. pero necesitaba ver todos los archivos que contenia una carpeta, y no e encontrado ninguna funcion especifica para acer esto en au3, si no que tenias k acer unas cuantas virgerias... e unido estas virgerias y e creado esta mini funcion :P
es como el dir de ms-dos, en el unico argumento pones la direccion de la carpeta a examinar, y te devuelve una array con los nombres de todos los archivos, en la pos array[0] viene el numero de archivos que se an encontrado, si esto te da -1 es que no hay ningun archivo
espero ke os sea util ^^

Código: Seleccionar todo

Func dir($dir)
	$dir &= "\*.*"
	Local $n = 0, $arr[1]
	$search = FileFindFirstFile($dir)
	If $search = -1 Then
		$arr[0] = -1
		FileClose($search)
		Return $arr
	EndIf
		While 1
			$temp = FileFindNextFile($search)
			If @error Then ExitLoop
			$n += 1
			ReDim $arr[$n+1]
			$arr[$n] = $temp
			$arr[0] = $n
		WEnd
	FileClose($search)
	Return $arr
EndFunc

Re: funcion dir() para autoit :D

Publicado: 11 Feb 2011, 01:21
por BasicOs
GRACIas por el aporte.
se puede hacer también con:

Código: Seleccionar todo

 #Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray(@DesktopDir)
If @Error=1 Then
    MsgBox (0,"","No Files\Folders Found.")
    Exit
EndIf
_ArrayDisplay($FileList,"$FileList")
Como la comentamos en otro post, la ventaja de tu función es que recorre el directorio/s y es util cuando se trabaja sobre los archivos directamente, incorporando dentro de tu codigo alguna funcion de abrir, mover, modificar, por ejemplo.

Entre otros porque la variable en memoria puede que no sea igual a directorio real, porque se hayan modificado archivos dentro de ellas en un proceso por ejemplo que tarde entre el comienzo y el fin varios minutos u horas, etc..
:smt046 :smt046
Salu22:)