Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak użyć opcji FileRead,FileOpen,FileCopy,FileWrite AutoIT? - Problem ze skryptem


Rekomendowane odpowiedzi

Opublikowano

Witam wszystkich.

Mam za zadanie stworzenie skryptu który:

1. Ma otworzyć przeglądarkę. <chrome>

2. Wejść na daną stronę.

3. Otworzyć konsolę.

4. Wklepać kod z pliku Test.txt znajdujący się w tym samym folderze co skrypt.

5. Kliknąć enter.

 

Mam problem ze skryptem, bo nie wiem jak użyć prawidłowo tych funkcji

FileRead, FileOpen, FileCopy, FileWrite, a może powinienem do tego użyć innych funkcji?

 

Oto mój skrypt w fazie początkowej.

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
 
shellexecute("chrome.exe")
Sleep(200) ; albo winwait
$str=FileRead("Test.txt")
Send("www.google.com" & "{Enter}")
Sleep(1000)
Send("^+j")
Sleep(200)
Send($str)
Sleep(5000)
Send("Enter")

 

 

Jest tutaj problem, gdy wpisuje wszystko do konsoli klika co chwile przycisk Enter, przez co skrypt z pliku Test.txt jest niekompletny.

 

 

 

 

A tutaj próbowałem z tymi komendami:

;*************************
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
;*************************
shellexecute("chrome.exe")
Sleep(200) ; albo winwait
$str=FileRead("Test.txt")
Send("www.google.com" & "{Enter}")
$hFile = FileOpen("Test.txt",9)
FileRead($hFile, "Test.txt")
Sleep(500)
Send("^+j")
FileWrite($hFile, "Test.txt")
FileClose($hFile)

 

 

Tutaj nie dzieje się nic, nawet nie wyskakuje żaden error, a konsola pozostaje pusta.

lTN12zv.jpg

Opublikowano

Funkcja Send nie nadaje sie do przepisywania tekstu. Wrzuc odczyt z pliku do schowka systemowego ( funkcja ClipPut), a potem po prostu wklej tekst ze schowka do konsoli (Send ("^v")).

 

 

Opublikowano

Funkcja Send nie nadaje sie do przepisywania tekstu. Wrzuc odczyt z pliku do schowka systemowego ( funkcja ClipPut), a potem po prostu wklej tekst ze schowka do konsoli (Send ("^v")).

 

O to chodzi? Jestem nieco zielony, męczę się z tym od 3 dni ...

 

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
 
shellexecute("chrome.exe")
Sleep(200) ; albo winwait
$str=FileRead("skrypt.txt")
Send("www.wp.pl" & "{Enter}")
Sleep(1000)
ClipPut("$str$")
Sleep(200)
(Send ("^+j"))
Sleep(200)
Send("$str")

 

 

W tym skrypcie po otwarciu konsoli nic się nie dzieje.

 

 

 

 

 

//edit:

Na necie znalazłem taki kodzik, ale nie wiem jak go zastosować.

Func printOutput2()

Local $fTest

$fTest = ClipPut($outputArrayRS[0][2]) ;get value of table's field by index number

Run("notepad.exe")

WinWaitActive("Untitled - Notepad")

Send("^v")

EndFunc

 

lTN12zv.jpg

Opublikowano


Main()

 

Func Main()

Local $filepath = @ScriptDir & "\test.txt"

 

If FileExists($filepath) Then

ClipPut(FileRead($filepath)) ; Wrzucamy odczyt z pliku test.txt do schowka systemowego

ShellExecute("www.wp.pl") ;Chrome musi byc domyslna przegladarka

WinWaitActive("[CLASS:Chrome_WidgetWin_1]"); Jak chcesz to sobie podmien na sleep

Send("^+j") ;Otwieramy konsole??

Sleep(5000) ; 5s przerwy na zaladowanie strony.

Send("^v") ; CTRL + V

Sleep(250)

Send("{ENTER}")

Else

MsgBox(0, "", "Plik " & $filepath & " nie istnieje!")

EndIf

EndFunc

 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...