|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
   AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando

-- Tutorial de iniciación a Autoit --

Volver al índice del tutorial

____________________________

24.- Archivos.

archivos.exe

- Vamos a trabajar con archivos y directorios.

- Con los archivos podemos realizar todas estas funciones que podemos ver en la ayuda de AutoIt.

Ayuda de AutoIt

FileChangeDir Changes the current working directory.
FileClose Closes a previously opened file.
FileCopy Copies one or more files.
FileCreateNTFSLink Creates an NTFS hardlink to a file or a directory.
FileCreateShortcut Creates a shortcut (.lnk) to a file.
FileDelete Delete one or more files.
FileExists Checks if a file or directory exists.
FileFindFirstFile Creates a search handle, defined by a path and file mask.
FileFindNextFile Returns the next filename defined by the search handle.
FileFlush Flushes the file's buffer to disk.
FileGetAttrib Returns a code string representing a file's attributes.
FileGetEncoding Determines the text encoding used in a file.
FileGetLongName Returns the long path+name of the path+name passed.
FileGetPos Retrieves the current file position.
FileGetShortcut Retrieves details about a shortcut.
FileGetShortName Returns the 8.3 short path+name of the path+name passed.
FileGetSize Returns the size of a file in bytes.
FileGetTime Returns the time and date information for a file.
FileGetVersion Returns version information stored in a file.
FileInstall Include and install a file with the compiled script.
FileMove Moves one or more files.
FileOpen Opens a file for reading or writing.
FileOpenDialog Initiates a Open File Dialog.
FileRead Read in a number of characters from a previously opened file.
FileReadLine Read in a line of text from a previously opened text file.
FileReadToArray Reads the specified file into an array.
FileRecycle Sends a file or directory to the recycle bin.
FileRecycleEmpty Empties the recycle bin.
FileSaveDialog Initiates a Save File Dialog.
FileSelectFolder Initiates a Browse For Folder dialog.
FileSetAttrib Sets the attributes of one or more files/directories.
FileSetEnd Sets the end of the file at the current file position.
FileSetPos Sets the current file position.
FileSetTime Sets the timestamp of one of more files.
FileWrite Write text/data to the end of a previously opened file.
FileWriteLine Append a line of text to the end of a previously opened text file.

- Para hacer los siguientes ejemplos simplemente copia el código y ejecútalo.

______________________________________________________
1.- Crear un directorio.

- Crea un directorio en el disco C, llamado "Carpeta de AutoIt"
- Crea un directorio en el Escritorio del usuario, llamado "La carpeta de AutoIt"

- Recuerda que @DesktopDir es una variable macro, las puedes ver en: https://www.autoitscript.com/autoit3/docs/macros.htm

crea_directorio.au3
				   
 DirCreate("C:/Carpeta de AutoIt/")
 DirCreate(@DesktopDir & "/La carpeta de Autoit")

- El directorio del usuario actual lo obtenemos mediante @HomeDrive y @HomePath

- Si ejecutamos MsgBox(0, "Directorios", @HomeDrive & @HomePath)

- Obtendría C:\Users\Juan

- Recuerda que & se utiliza para unir textos.

______________________________________________________
2.- Borrar un directorio.

borrar_directorio.au3

 DirRemove("C:/Carpeta de AutoIt/", 1)
 DirRemove (@DesktopDir & "/La carpeta de Autoit", 1)

- El 1 significa que borrará el directorio con el contenido que tenga dentro.

- Si ponemos un 0, solo borrará el directorio si está vacío, es decir si no tiene nada dentro.

- Mover un directorio completo:

DirMove("C:\Esta carpeta\", "C:\Otro sitio\Aquí se moverá", 1 )

______________________________________________________
3.- Crear archivo vacío.

- Crea la carpeta "C:/Carpeta de AutoIt/" y dentro de ella crea al archiov "prueba.txt"

crear_archivo_vacio.au3
				   
 $carpeta = "C:/Carpeta de AutoIt/"
 DirCreate($carpeta)
 $archivo = FileOpen($carpeta & "prueba.txt", 1)

- Cuidado con las barras /, a veces equivocadamente se ponen más de la cuenta.

- Hay que tener en cuenta si vamos a utilizar el archivo para leerto o para escribirlo. Eso lo establecemos según pongamos 0 o 1

- Si ponemos un 2 será para sobre escribrir en lo que ya esté escrito.

   0 = Modo de lectura
   1 = Modo de escritura (adjunta al final de la línea del archivo)
   2 = Modo escritura 2 (borra el contenido previo del archivo)
   Modos 1 y 2 (de escritura) pueden ser creados si el archivo no existe.

______________________________________________________
4.- Crear archivo y escribir un texto.

crear_archivo_escribir_texto.au3
				   
$carpeta = "C:/Carpeta de AutoIt/"
 DirCreate($carpeta)
 $archivo = FileOpen($carpeta & "prueba.txt", 1)
 FileWrite($archivo, "Esta es la línea 1" & @CRLF)
 FileWrite($archivo, "Esta es la línea 2" & @CRLF)
 FileWrite($archivo, "Esta es la línea 3" & @CRLF)
 FileWriteLine ($archivo, "Otra línea 4")
 FileWriteLine ($archivo, "Otra línea 5")
 FileWriteLine ($archivo, "Otra línea 6")

 FileClose($archivo)

- @CRLF es para que cambie de renglón.

- Una vez que terminemos con el código del archivo es conveniente cerrarlo con FileClose($archivo)

- Si en vez de FileWrite lo hacemos con FileWriteLine, automáticamente añade una nueva línea.

- Vamos a consultarlo en el Bloc de notas.

- Cada vez que ejecutamos el Script se añade nuevo texto.

- Si pusiéramos $archivo = FileOpen($carpeta & "prueba.txt", 2)

- se borraría todo el texto anterior y se escribiría uno nuevo.

______________________________________________________
5.- Leer parte de un archivo.

- Tenemos que abrirlo en modo lectura, con el parámetro 0

- $archivo = FileOpen($carpeta & "prueba.txt", 0)

- FileRead($archivo, 12) lee 12 caracteres de ese archivo.

leer_archivo.au3
				   
 $carpeta = "C:/Carpeta de AutoIt/"
 $archivo = FileOpen($carpeta & "prueba.txt", 0)
 $texto = FileRead($archivo, 12)
 MsgBox(0, "Lectura", $texto)
 FileClose($archivo)

______________________________________________________
6.- Leer un archivo completo. Tres métodos.

A.- Carácter a carácter con FileRead.

- Leemos el archivo completo, es decir hasta llegar a OEF (Fin De Archivo)

- Con FileRead, en un bucle va leyendo caracter a caracter hasta llegar al Fin De Archivo.

- @error = -1 significa que ha llegado a Fin De Archivo y que salga del bucle.

- Presenta el texto completo en un MsgBox.

leer_archivo_completo.au3

;;;;;;;;;;;;;;;;; Con FileRead ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
$carpeta = "C:/Carpeta de AutoIt/"
$archivo = FileOpen($carpeta & "prueba.txt", 0)
$completo = ""
While 1
$letra = FileRead($archivo, 1)
$completo = $completo & $letra
if @error = -1 Then ExitLoop
Wend

MsgBox(0, "El archivo completo con FileRead", $completo)

FileClose($archivo)

B.- Línea a línea con FileReadLine.

- Con FileReadLine, en un bucle va leyendo línea a línea hasta llegar al Fin De Archivo.

- @error = -1 significa que ha llegado a Fin De Archivo y que salga del bucle.

- Presenta el texto completo en un MsgBox.

leer_archivo_completo_linea.au3
;;;;;;;;;;;;;;; Con FileReadLine ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$carpeta = "C:/Carpeta de AutoIt/"
$archivo = FileOpen($carpeta & "prueba.txt", 0)
$completo = ""
While 1
$linea = FileReadLine($archivo)
$completo = $completo & $linea & @CRLF
if @error = -1 Then ExitLoop
Wend

MsgBox(0, "El archivo completo con FileReadLine", $completo)

FileClose($archivo)

C.- Con FileRead sin bucle.

leer_archivo_completo.au3

;;;;;;;;;;;; Con FileReadLine sin bucle ;;;;;;;;;;;
$carpeta = "C:/Carpeta de AutoIt/"
$archivo = FileOpen($carpeta & "prueba.txt", 0)
$completo = FileRead($archivo)
MsgBox(0, "Archivo completo.", $completo)

FileClose($archivo)

______________________________________________________
7.- Borrar archivo.

borrar_archivo.au3
				   
$carpeta = "C:/Carpeta de AutoIt/"
FileDelete($carpeta & "prueba.txt")

- Archivo a la Papelera de reciclaje:

FileRecycle ( $carpeta & "prueba.txt")
FileRecycleEmpty () ; Vaciar la papelera.

______________________________________________________
8.- Comprobar si un archivo existe.

comprobar.au3
				   
    $carpeta = "C:/Carpeta de AutoIt/"
    $archivo = FileOpen($carpeta & "prueba.txt", 1)  
                    
    If $archivo = -1 Then 
    MsgBox(0, "Error", "El archivo no existe o no se pudo abrir.") 
    Exit
    EndIf

______________________________________________________
9.- Copiar archivo.

copiar_archivo.au3
   
     $carpeta = "C:/Carpeta de AutoIt/"
     FileCopy($carpeta & "prueba.txt", @DesktopDir & "/La carpeta de Autoit")

- Para moverlo:

- FileMove("origen", "destino")

______________________________________________________
10.-
FileOpenDialog. FileSaveDialog. FileSelectFolder.

- Mediante estas funciones podemos sacar una ventana para elegir archivos y carpetas.

FileOpenDialog.au3
				   
$message = "Presionar Ctrl o Shift para seleccionar más de uno."
$var = FileOpenDialog($message, "C:\Windows\", "Imagenes (*.jpg;*.bmp)", 1 + 4 )

If @error Then
MsgBox(4096,"","No hay archivos seleccionados")
Else
$var = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","Seleccionado: " & $var)
EndIf

FileSaveDialog.au3
				   
$MyDocsFolder = "::{450D8FBA-AD25-11D0-98A8-0800361B1103}"
$var = FileSaveDialog( "Choose a name.", $MyDocsFolder, "Scripts (*.aut;*.au3)", 3)
; option 3 = dialog remains until valid path/file selected
If @error Then
MsgBox(4096,"","Save cancelled.")
Else
MsgBox(4096,"","You chose " & $var)
EndIf

FileSelecFolder.au3
				   
$archivo = FileSelectFolder("Eslegir un archivo.", "", 0)

______________________________________________________
11.-
Comodines.

- Se puede utilizar el * como comodín.

$carpeta = "C:/Carpeta de AutoIt/"
FileRecycle($carpeta & "*.*")

________________________________________________

- Comentarios.

_________________
- Propuesta.

-

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información