Muchas funciones contienen parámetros opcionales que pueden ser omitidos. Si desea especificar un parámetro opcional, todos los parámetros anteriores deben ser especificados!
Por ejemplo, considere Run ( "nombredearchivo", ["dirDeTrabajo" [, bandera]] ). Si se desea especificar la bandera, se debe especificar directorioDeTrabajo .
Muchas funciones Win___ contienen un parámetro opcional llamado "texto". Este parámetro está destinado para ayudar a diferenciar entre ventanas que tienen títulos idénticos.
Algunas funciones indican éxito/fallo como valor devuelto; otros se indican fijando en la flag de @error. Ambos tienen las siguientes significación...
@error = 0 ; cuando es igual a cero, es siempre exitoso Return = varía, pero típicamente valores no-cero exitosos permiten leer fácilmente el código...
If algunaFuncUsuario() then ; ...función trabajó If Not someUserFunc() then ; ...función falló $x = FileReadLine("C:\someFile.txt")
If @error = -1 Then ;fin-de-archivo fué lanzado
Si una función puede establecer el flag de @error, se debería revisar siempre antes de usar un valor devuelto - si @error indica un error entonces el valor devuelto de la función es generalmente indefinido...
@error es siempre establecido a 0 cuando entra en una función.
Cuando la documentación establece que el valor devuelto es = ninguno, AutoIt siempre devuelve un valor para evitar errores. Valor de 1 es usualmente devuelto, pero no debería depender de este valor devuelto.
Cuando un parámetro opcional necesita ser definido y es precedido por uno o más parámetros opcionales, los parámetros anteriores deben ser dados. Esto tal vez sea "" para un parámetro de cadena de texto y -1 para otros tipos. Algunas funciones como StringInStr o StringReplace requieren 0. Ver la descripción correspondiente del parámetro opcional en cada caso.
155
Referencia de Administración de entorno
A continuación se muestra una lista completa de las funciones de Administración de entorno disponibles en AutoIt. Click en una de ellas para obtener detalles de su descripción.
Consulte los ficheros de constantes incluidas en esta dirección Ficheros de Constantes GUI Incluidas si usted necesita usarlo para constantes de controles.
Función Descripción
ClipGet Recupera texto del portapapeles.
ClipPut Escribe texto en el portapapeles.
EnvGet Recupera una variable de entorno.
EnvSet Escribe en una variable de entorno.
EnvUpdate Refresca el entorno del SO.
MemGetStats Devuelve información relativa a la memoria.
ClipGet
Devuelve el texto del portapapeles.
ClipGet
Parámetros Ninguno.
Valor de retorno
Con Éxito: Devuelve una cadena conteniendo el texto en el portapapeles.
Al Fallar: Establece oAutoIt.error a 1 si el portapapeles esta vacío o no contiene texto.
Comentarios Ninguno.
156 Relativo
ClipPut Ejemplo
Set oAutoIt = WScript.CreateObject("AutoItX3.Control") texto = oAutoIt.ClipGet()
WScript.Echo "Clipboard contains:" & texto
ClipPut
Escribe texto al portapapeles.
ClipPut "valor"
Parámetros
valor El texto para ser escrito al portapapeles.
Valor de retorno
Con Éxito: Devuelve 1.
Al Fallar: Devuelve 0.
Comentarios
Cualquier contenido en el portapapeles es sobrescrito.
Relativo ClipGet
Ejemplo
Set oAutoIt = WScript.CreateObject("AutoItX3.Control") oAutoIt.ClipPut "I am copied to the clipboard"
EnvGet
Recupera una variable de entorno.
EnvGet ( "Variable" )
Parámetros
157 Variable Nombre de la variable de entorno a acceder tales como "TEMP" o "PATH".
Valor de Retorno
Devuelve la variable solicitada (o una cadena vacía si la variable no existe).
Comentarios Ninguno Relativo
EnvSet, EnvUpdate Ejemplo
$var = EnvGet("PATH")
MsgBox(4096, "Path de la variable es:", $var)
EnvSet
Escribe en una variable de entorno.
EnvSet ( "Variable" [, "valor"] )
Parámetros
Variable Nombre de la variable de entorno para acceder.
valor [opcional] Valor a fijar en la variable de entorno. Si un valor no es usado la variable será eliminada.
Valor de Retorno
Con Éxitos Devuelve un valor diferente de 0.
Al Fallar Devuelve 0.
Comentarios
Una variable de entorno establecida de esta forma solamente puede ser accedida por programas como AutoIt (Run, RunWait). Una vez que AutoIt finaliza, la variable deja de existir.
Relativo
EnvGet, EnvUpdate
158
Ejemplo
EnvSet("MYENV", "esto es un test")
EnvUpdate
Refresca el entorno del SO.
EnvUpdate ( )
Parámetros Ninguno
Valor de Retorno Con Éxitos Ninguno
Al Fallar Establece @error a 1.
Comentarios
El efecto es similar a reiniciar el sistema. Por ejemplo, al cambiar la ruta de entorno %ruta%
este cambio no tendrá efecto hasta que no se invoque EnvUpdate (o Reinicie/apague el sistema operativo).
Relativo EnvGet, EnvSet Ejemplo
EnvUpdate()
MemGetStats
Devuelve información relativa a la memoria.
MemGetStats ( )
Parámetros Ninguno
Valor de Retorno
159 Devuelve un arreglo de siete elementos conteniendo información de la memoria:
$arreglo[0] = Carga de memoria (Porcentaje de memoria en uso)
$arreglo[1] = RAM física total
$arreglo[2] = RAM física disponible
$arreglo[3] = Archivo de paginación total
$arreglo[4] = Archivo de paginación disponible
$arreglo[5] = Virtual total
$arreglo[6] = Virtual disponible
Todas las unidades de memoria se expresan en kilobytes.
Comentarios Ninguno Relativo
Ninguno.
Ejemplo
$mem = MemGetStats()
MsgBox(0, "RAM física total (KB):", $mem[1])
160
Referencia de Administración de fichero, Directorio y Disco
A continuación se muestra una lista completa de las funciones de Administración de fichero,Directorio y Disco disponibles en AutoIt. Click en una de ellas para obtener detalles de su descripción.
Consulte los ficheros de constantes incluidas en esta dirección Ficheros de Constantes GUI Incluidas si usted necesita usarlo para constantes de controles.
Función Descripción
ConsoleRead Lee datos desde la secuencia STDIN del proceso de script de AutoIt.
ConsoleWrite Escribe datos en la secuencia de STDOUT. Algunos editores de texto pueden leer dicha secuencia como otros programas.
ConsoleWriteError Escribe datos en la secuencia de STDERR. Algunos editores de texto pueden leer dicha secuencia como otros programas.
DirCopy Copia un directorio conjuntamente con sus subdirectorios y archivos (Similar a xcopy).
DirCreate Crea un directorio/carpeta.
DirGetSize Devuelve el tamaño en bytes de un directorio dado.
DirMove Mueve un directorio y todos sus subdirectorios y ficheros.
DirRemove Borra un directorio/carpeta.
DriveGetDrive Devuelve un arreglo devolviendo las unidades enumeradas.
DriveGetFileSystem Devuelve el Tipo de Sistema de Archivo de una unidad.
DriveGetLabel Devuelve la Etiqueta de Volumen de una unidad, si lo posee.
DriveGetSerial Devuelve el Número de Serie de una unidad.
DriveGetType Devuelve tipo de unidad.
161 DriveMapAdd Mapea una unidad de red.
DriveMapDel Desconecta una unidad de red.
DriveMapGet Recupera información detallada de una unidad mapeada.
DriveSetLabel Establece la Etiqueta de Volumen de una unidad.
DriveSpaceFree Devuelve el espacio libre en disco(en Megabytes)de una ruta en Megabytes.
DriveSpaceTotal Devuelve el espacio total libre en disco de una ruta en Megabytes.
DriveStatus Devuelve el estado de una unidad como una cadena.
FileChangeDir Cambia el directorio actual de trabajo.
FileClose Cierra un fichero de texto previamente abierto.
FileCopy Copia uno o más ficheros.
FileCreateNTFSLink Crea un hardlink NTFS para un archivo o directorio.
FileCreateShortcut Crea un acceso directo (.lnk) a un fichero.
FileDelete Elimina uno o más ficheros.
FileExists Chequea si un archivo o directorio existe.
FileFindFirstFile Devuelve un identificador de búsqueda de acuerdo con una cadena de búsqueda.
FileFindNextFile Devuelve un nombre de archivo de acuerdo con una invocación previa a FileFindFirstFile.
FileFlush Limpia el buffer de una fichero en disco.
FileGetAttrib Devuelve una cadena codificada conteniendo los atributos de un fichero.
162 FileGetEncoding Determina la codificación de texto utilizada en un fichero.
FileGetLongName Devuelve el nombre completo (dirección+nombre) de una ruta dada.
FileGetPos Devuelve la posición actual en un fichero FileGetShortcut Devuelve detalles de un acceso directo.
FileGetShortName Devuelve el nombre corto 8.3 de una dirección+nombre de archivo dado.
FileGetSize Devuelve el tamaño de un archivo en bytes.
FileGetTime Devuelve información del tiempo y la fecha para un fichero.
FileGetVersion Devuelve información de la versión del "fichero".
FileInstall Incluye e instala un archivo con el archivo compilado.
FileMove Mueve uno o más directorios.
FileOpen Abre un archivo de texto para lectura o escritura.
FileOpenDialog Inicia un cuadro de diálogo de Abrir Archivo.
FileRead Lee un número de caracteres desde un fichero previamente abierto.
FileReadLine Lee una línea de texto desde un fichero previamente abierto.
FileRecycle Envía un archivo o directorio a la papelera de reciclaje (recycle bin).
FileRecycleEmpty Vacía la papelera de reciclaje.
FileSaveDialog Inicializa un diálogo de Salvar Fichero.
FileSelectFolder Inicializa un diálogo de selección de carpeta.
FileSetAttrib Establece los atributos de uno o más ficheros.
163 FileSetPos Establece la posición actual en el fichero.
FileSetTime Establece la marca de tiempo de uno o más ficheros
FileWrite Agrega un texto/dato al final de un fichero previamente abierto.
FileWriteLine Agrega una línea de texto al final de un fichero de texto previamente abierto.
IniDelete Borra un valor de un fichero .ini con formato estándar.
IniRead Lee un valor desde un fichero .ini con formato estándar.
IniReadSection Lee todos los pares de valores/claves de una sección en un fichero .ini con formato estándar.
IniReadSectionNames Lee todas las secciones en un fichero .ini con formato estándar.
IniRenameSection Renombra una sección en un fichero .ini con formato estándar.
IniWrite Escribe un valor para un fichero .ini con formato estándar.
IniWriteSection Escribe una sección para un fichero .ini con formato estándar.
ConsoleRead
Lee datos desde la secuencia STDIN del proceso de script de AutoIt.
ConsoleRead ( [peek = false[, binario = false ]])
Parámetros
peek [optional] Si es true la función no remueve los caracteres leídos desde la secuencia.
binario [optional] Si es true la función la función lee el dato como binario en vez de texto (por defecto es texto).
164 Valor de Retorno
Con Éxitos Devuelve el dato leído. @extended contiene el número de bytes leídos.
Al Fallar Establece @error a no-cero si EOF es alcanzado, STDIN no esta conectado a otro proceso o error.
Comentarios
ConsoleRead lee desde la secuencia de la consola estándar de los procesos de script de AutoIt, que es normalmente usado como consola de aplicación para leer las entradas de los procesos.
ConsoleRead no bloquea, esta devolverá inmediatamente. Para obtener todos los datos, debe ser invocado en un ciclo.
Examinando la secuencia de entrada no se borran los datos del buffer, sin embargo, este no devuelve el dato disponible como normal.
Por defecto, el dato es devuelto en formato texto. Utilizando operaciones binarias, el dato puede ser devuelto en formato binario.
Relativo
ConsoleWrite, ConsoleWriteError, Run
Ejemplo
; Compilar este escript a "ConsoleRead.exe".
; Abrir el pront de comandos en el directorio donde recide ConsoleRead.exe
; Tipea lo siguiente en la línea de comandos:
; echo Hola! | ConsoleRead.exe
; Cuando se invoque una ventana de consola, el anterior comando muestra (hecho)el texto
"Hola!"
; Pero en lugar de mostrar esto, el | avisa a la consola que el símbolo pipe indica el "STDIN stream del proceso ConsoleRead.exe”
If Not @Compiled Then
MsgBox(0, "", "Este script debe ser compilado en orden hará mostrar correctamente su funcionamiento.")
Exit -1
165 EndIf
Local $data While True
$data &= ConsoleRead() If @error Then ExitLoop Sleep(25)
WEnd
MsgBox(0, "", "Recivido: " & @CRLF & @CRLF & $data)
ConsoleWrite
Escribe datos en la secuencia de STDOUT. Algunos editores de texto pueden leer dicha secuencia como otros programas.
ConsoleWrite ( "dato" )
Parámetros
dato El dato para mostrar en la secuencia de salida. Este puede ser texto o binario.
Valor de Retorno
La cantidad de dato escrito. Si la escritura es binaria, el número de bytes escritos, si la escritura es textual, el número de caracteres escritos.
Comentarios
El propósito dicha función es escribir en la secuencia de STDOUT. Algunos editores de texto populares pueden leer dicha secuencia. Los script compilados como consola tiene una
secuencia STDOUT.
Esta función no escribe en consola del DOS a menos que el script sea compilado como aplicación de consola.
Los caracteres son convertidos a ANSI antes de ser escritos.
Los datos binarios son escritos tan como aparecen. Estos no son convertidos a cadena. Para imprimir una represenación hexadecimal de un datos binarios, use la función String() para un cambio explícito del dato a cadena.
Relativo
166 ConsoleWriteError, ConsoleRead
Ejemplo
Local $var = "Test"
ConsoleWrite("var=" & $var & @CRLF)
; Correr esto en un editor de texto (eje. Scite) que pueda atrapar la consola de salida y verá como produce: "var=Test"
ConsoleWriteError
Escribe datos en la secuencia de STDERR. Algunos editores de texto pueden leer dicha secuencia como otros programas.
ConsoleWriteError ( "dato" )
Parámetros
dato El dato para mostrar en la secuencia de salida. Este puede ser texto o binario.
Valor de Retorno
La cantidad de dato escrito. Si la escritura es binaria, el número de bytes escritos, si la escritura es textual, el número de caracteres escritos.
Comentarios
El propósito dicha función es escribir en la secuencia de STDERR. Algunos editores de texto populares pueden leer dicha secuencia. Los script compilados como consola tiene una
secuencia STDERR.
Esta función no escribe en consola del DOS a menos que el script sea compilado como aplicación de consola.
Los caracteres son convertidos a ANSI antes de ser escritos.
Los datos binarios son escritos tan como aparecen. Estos no son convertidos a cadena. Para imprimir una represenación hexadecimal de un datos binarios, use la función String() para un cambio explícito del dato a cadena.
Relativo
ConsoleWrite, ConsoleRead
167 Ejemplo
Local $var = "Test"
ConsoleWriteError("var=" & $var & @CRLF)
; Correr esto en un editor de texto (eje. Scite) que pueda atrapar la consola de salida y verá como produce: "var=Test"
DirCopy
Copia un directorio conjuntamente con sus subdirectorios y archivos (Similar a xcopy).
DirCopy ( "dir fuente", "dir destino" [, flag] )
Parámetros
dir fuente Ruta del directorio fuente (sin backslash"\" al final). Eje. "C:\Path1"
dir destino Ruta del directorio destino (sin backslash"\" al final). Eje. "C:\Path_Copy"
flag
[opcional] determina la forma como son sobrescritos los ficheros si estos existen:
0 = (por defecto) no sobrescribir ficheros existente 1 = sobrescribir ficheros existente
Valor de Retorno
Con Éxitos Devuelve 1.
Al Fallar Devuelve 0 si existe un error durante la copia.
Comentarios
Si la estructura del directorio destino no existe, este será creado (si es posible).
Relativo
DirRemove, FileCopy Ejemplo
DirCopy(@MyDocumentsDir, "C:\Backups\MyDocs", 1)
DirGetSize
168 Devuelve el tamaño en bytes de un directorio dado.
DirGetSize ( "ruta" [, flag] )
Parámetros
ruta La ruta del directorio para obtener el tamaño, Eje. "C:\Windows".
flag
[opcional] Determina el comportamiento del resultado de esta función, puede ser una combinación de lo siguiente:
0 = (por defecto)
1 = Modo extendido On -> devuelve un arreglo con información extendida (ver observaciones).
2 = No obtiene el tamaño de los archivos en los subdirectorios (modo recursivo Off)
Valor de Retorno
Con Éxitos Devuelve >= 0 (el tamaño)
Al Fallar Devuelve -1 y fija @error a 1 si la ruta no existe.
Comentarios
Si el script es pausado entonces esta función se detendrá; continuará una vez que el script halla salido de la pausa!
Si usted elige el modo extendido entonces se devolverá un arreglo lineal con la siguiente configuración:
$arreglo[0] = Tamaño
$arreglo[1] = Contador de ficheros
$arreglo[2] = Contador de carpetas Relativo
Ninguno.
Ejemplo
$Size = DirGetTamaño(@HomeDrive)
Msgbox(0,"","Tamaño(MegaBytes):" & Round($Size / 1024 / 1024))
$Size = DirGetTamaño(@WindowsDir, 2)
Msgbox(0,"","Tamaño(MegaBytes):" & Round($Size / 1024 / 1024))
$timer = TimerInit()
$Size = DirGetTamaño("\\10.0.0.1\h$",1)
$diff = Round(TimerDiff($timer) / 1000) ; Tiempo en segundos If IsArray($Size) Then
169 Msgbox(0,"DirGetSize-Info","Tamaño(Bytes):" & $Size[0] & @LF _
& "Ficheros:" & $Size[1] & @LF & "Dirrectorios:" & $Size[2] & @LF _ & "TimeDiff(Sec):" & $diff)
EndIf
DirMove
Mueve un directorio y todos sus subdirectorios y ficheros.
DirMove ( dir fuente, dir destino [, flag] )
Parámetros
dir fuente Ruta del directorio fuente (sin backslash al final). Eje. "C:\Path1"
dir destino Ruta del directorio destino (sin backslash al final). Eje. "C:\Path_Copy"
flag
[opcional] Determina si se han de sobrescribir los archivos existentes:
0 = (por defecto) no sobrescribe los archivos existentes 1 = sobrescribe los archivos existentes
Valor de Retorno
Con Éxitos Devuelve 1.
Al Fallar Devuelve 0 si ocurre un error en la operación.
Comentarios
Si la fuente y el destino se encuentran en volúmenes diferentes o rutas UNC entonces es usado una operación copy/delete para optimizar la operación.
Si el destino ya existe y parámetro de sobre escritura es dado entonces el directorio fuente será movido hacia dentro del directorio destino.
Debido a que AutoIt carece de una función "DirRename", use DirMove para renombrar una carpeta!
Relativo
DirRemove, FileMove Ejemplo
DirMove(@MyDocumentsDir, "C:\Backups\MyDocs")
170
DirRemove
Borra un directorio/carpeta.
DirRemove ( "ruta" [, recursivo] )
Parámetros
ruta Ruta del directorio a borrar.
recursivo
[opcional] use esta opción para especificar si desea borrar los subdirectorios también.
0 = (por defecto) no borra los archivos y subdirectorios
1 = Borra archivos y subdirectorios (semejante al comando del DOS: DelTree)
Valor de Retorno
Con Éxitos Devuelve 1.
Al Fallar Devuelve 0 si existe un error en la operación (o si el directorio no existe).
Comentarios
Algunos atributos de directorios pueden hacer imposible la operación de borrar.
Relativo
DirCreate, FileRecycle, DirCopy, DirMove, FileDelete Ejemplo
; Borra C:\Test1 y todos los subdirectorios y ficheros DirRemove("C:\Test1", 1)
DriveGetDrive
Devuelve un arreglo devolviendo las unidades enumeradas.
DriveGetDrive ( "Tipo" )
Parámetros
Tipo Tipo de unidad a encontrar:
"ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK", o
171
"UNKNOWN"
Valor de Retorno
Con Éxitos Devuelve un arreglo de cadenas (letra de la unidad seguida por una coma) de las unidades encontradas. El elemento de índice cero contiene el número de unidades encontradas.
Al Fallar Devuelve "" y establece el valor de @error en 1.
Comentarios Ninguno Relativo
DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus
Ejemplo
$var = DriveGetDrive( "all" ) If NOT @error Then
MsgBox(4096,"", "Encontrado " & $var[0] & " Unidades") For $i = 1 to $var[0]
MsgBox(4096,"Unidad " & $i, $var[$i]) Next
EndIf
DriveGetFileSystem
Devuelve el Tipo de Sistema de Archivo de una unidad.
DriveGetFileSystem ( "ruta" )
Parámetros
ruta Ruta de la unidad para recibir la información.
Valor de Retorno
172 Con Éxitos Devuelve el Tipo de Sistema de Archivo como una cadena; ver
tabla más abajo.
Al Fallar Establece @error a 1.
Valor de
Retorno Interpretación
1 (numérico) Unidad NO contiene medio (CD, Floppy, Zip) o el medio esta sin formatear (RAW).
"FAT" Sistema de archivos típicos para unidades menores de ~500 MB tales como Floppy, RAM disks, USB "pen", etc.
"FAT32" Sistema de archivos típicos para unidades de disco duros en Windows 9x/Me.
"NTFS" Sistema de archivos típicos para unidades de disco duros en Windows NT/2000/XP.
"NWFS" Sistema de archivos típicos para servidores de archivos Novell Netware.
"CDFS" Típicamente indica un CD (o una imagen ISO montado como unidad CD virtual).
"UDF" Típicamente indica un DVD.
Comentarios
La lista completa de valores de retorno puede estar incompleta.
Relativo
DriveGetDrive, DriveGetLabel, DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus
Ejemplo
$var = DriveGetFileSystem( "c:\" )
MsgBox(4096,"Tipo de Sistema de Archivo:", $var)
DriveGetLabel
173 Devuelve la Etiqueta de Volumen de una unidad, si lo posee.
DriveGetLabel ( "ruta" )
Parámetros
ruta Ruta de la unidad para obtener la información.
Valor de Retorno
Con Éxitos Devuelve la etiqueta de Volumen de una unidad como una cadena.
Al Fallar Establece @error a 1.
Comentarios Ninguno
Relativo
DriveGetDrive, DriveGetFileSystem, DriveGetSerial, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus
Ejemplo
$var = DriveGetLabel( "c:\" )
MsgBox(4096,"Etiqueta de volumen: ",$var)
DriveGetSerial
Devuelve el Número de Serie de una unidad.
DriveGetSerial ( "ruta" )
Parámetros
ruta Ruta de la unidad para obtener la información.
Valor de Retorno
174 Con Éxitos Devuelve el Número de Serie de una unidad como una cadena.
Al Fallar Establece @error a 1.
Comentarios
El valor devuelto no es el número de serial de hardware como el encontrado en la etiqueta de la unidad, este es el ID del Volumen de Windows para la unidad.
Relativo
DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetType, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus
Ejemplo
$var = DriveGetSerial( "c:\" )
MsgBox(4096, "Número de serial: ", $var)
DriveGetType
Devuelve tipo de unidad.
DriveGetType ( "ruta" )
Parámetros
ruta Ruta de la unidad para obtener información.
Valor de Retorno
Con Éxitos Devuelve el tipo de unidad: "Unknown", "Removable", "Fixed", "Network",
"CDROM", "RAMDisk"
Al Fallar Devuelve "" y establece el valor de @error en 1.
Comentarios
La lista completa de valores puede estar incompleta.