• Tidak ada hasil yang ditemukan

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.

Dokumen terkait