funcion dir() para autoit :D

y programas personales para otros como tu, puede que te corrijan ;)
Responder
xapu
Hacker del Foro
Mensajes: 82
Registrado: 12 Dic 2009, 15:42

funcion dir() para autoit :D

Mensaje 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
- 0 error(s), 0 warning(s) :smt098 FUCK YEA!
http://xapus.blogspot.com/
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: funcion dir() para autoit :D

Mensaje 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:)
Responder