Ayuda para copiar contenido de un txt :(

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Mithrandir
Mensajes: 27
Registrado: 01 Jun 2009, 02:41

Ayuda para copiar contenido de un txt :(

Mensaje por Mithrandir »

Buenas estaba tratando de hacer algo aparentemente simple: Abrir un archivo en un block de notas copiar su contenido y cerrarlo. Sin embargo probé de diferentes formas como verán en los códigos que adjunto y lo único que hace el script es abrir el block de notas o en el caso en que pongo la ruta del archivo, no hace nada. Gracias por la ayuda!!

Código: Seleccionar todo

Run("C:\Documents and Settings\Pablo\Mis documentos\TEST.txt")

Send("^!e")

Sleep(1000)

Send("^!c")

Sleep(1000)

WinClose("TEST")

Código: Seleccionar todo

Run("notepad.exe")

WinWaitActive("Sin título - Bloc de notas")

Send("^!a")

WinWaitActive("Abrir")

Send("TEST")

Sleep(1000)

Send("{ENTER}")

WinWaitActive("TEST")

Send("^!e")

Sleep(1000)

Send("^!c")

Sleep(1000)

WinClose("TEST")
Edito:Ya solucioné el problema.Pueden cerrar el tema si quieren. Aquí dejo el código corregido:

Código: Seleccionar todo

Run('Notepad "C:\Documents and Settings\Pablo\Mis documentos\TEST.txt"')

WinWaitActive("TEST - Bloc de notas")

Send("^e")

Sleep(1000)

Send("^c")

Sleep(1000)

WinClose("TEST")
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Ayuda para copiar contenido de un txt :(

Mensaje por gna08 »

Código: Seleccionar todo

$test = FileRead("C:\Documents and Settings\Pablo\Mis documentos\TEST.txt") ; ya lo tenes almacenado en la variable, pordes usarlo directamente o como kiera!!

ClipPut($test) ;ya lo tenes en el portapapeles.

 
Acordate que debe existir el archivo a abrir
Cualkier cosa respondes como te fue,
Saludos
:smt023
Aunk no m Buskes, Seguro m enkontras!
Mithrandir
Mensajes: 27
Registrado: 01 Jun 2009, 02:41

Re: Ayuda para copiar contenido de un txt :(

Mensaje por Mithrandir »

Gracias gna08!! Es cierto, es más corto con la función fileread y clipget lo que pasa es que recién empiezo y tengo la "mentalidad de un macro" :p je, programo todo como si lo hiciera manual y no pensé en usar esa función. De hecho es más útil para lo que quiero hacer que es postear esa información en un post acá el código completo:

Código: Seleccionar todo

#include <IE.au3>



ClipPut(FileRead("C:\Documents and Settings\Pablo\Mis documentos\TEST.txt"))



$oIE = _IECreate ("http://forums.linkbucks.com/newthread.php?do=newthread&f=12")

$oForm = _IEFormGetCollection ($oIE, 0)

$oQuery = _IEFormElementGetCollection ($oForm, 0)

$oQuery2 = _IEFormElementGetCollection ($oForm, 2)

_IEFormElementSetValue ($oQuery, "usuario")

_IEFormElementSetValue ($oQuery2, "contraseña")

_IEFormSubmit ($oForm)

Sleep(10000);esto no es necesario ahora que me doy cuenta porque el _IEFormSubmit llama a _IELoadWait por defecto

$oForm1 = _IEFormGetObjByName ($oIE, "vbform")

$oQuery3 = _IEFormElementGetObjByName ($oForm1, "subject")

$oQuery4 = _IEFormElementGetObjByName ($oForm1, "message")

_IEFormElementSetValue ($oQuery3, "my test")

_IEFormElementSetValue ($oQuery4,  ClipGet())

_IEFormSubmit ($oForm1)
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Ayuda para copiar contenido de un txt :(

Mensaje por gna08 »

Tambien podrias hacer de la siguiente forma, ya k el portatapeles puede cambiar.

Código: Seleccionar todo

#include <IE.au3>



$valor = FileRead("C:\Documents and Settings\Pablo\Mis documentos\TEST.txt")



$oIE = _IECreate ("http://forums.linkbucks.com/newthread.php?do=newthread&f=12")

$oForm = _IEFormGetCollection ($oIE, 0)

$oQuery = _IEFormElementGetCollection ($oForm, 0)

$oQuery2 = _IEFormElementGetCollection ($oForm, 2)

_IEFormElementSetValue ($oQuery, "usuario")

_IEFormElementSetValue ($oQuery2, "contraseña")

_IEFormSubmit ($oForm)

Sleep(10000);esto no es necesario ahora que me doy cuenta porque el _IEFormSubmit llama a _IELoadWait por defecto

$oForm1 = _IEFormGetObjByName ($oIE, "vbform")

$oQuery3 = _IEFormElementGetObjByName ($oForm1, "subject")

$oQuery4 = _IEFormElementGetObjByName ($oForm1, "message")

_IEFormElementSetValue ($oQuery3, "my test")

_IEFormElementSetValue ($oQuery4, $valor)

_IEFormSubmit ($oForm1)
Aunk no m Buskes, Seguro m enkontras!
Responder