Что нового

Построчное копирование в буфер и переход в Хроме в цикле

Kent47

Новичок
Сообщения
7
Репутация
1
Здравствуйте,ищу помощи со своей хотелкой:
есть сайт autoit.ru\ (этот адрес прописывается и остается навсегда в скрипте)
есть файл list.txt с содержанием каталогов этого сайта (находится в той же папке где и скрипт) пример:
admins
mods
dowloads
users
manuals
....
их (строк в list.txt) неизвестное количество(!) и все разные на каждой строчке

Требуется:
брать из list.txt построчно название каталога,
соединять с доменом вида <site.ru\+<katalog» типа (domen+katalog(line)) пример: autoit.ru\admins
копировать эту строчку в буфер
запускать эту строчку в Хроме,в IE нет(!) (могу сделать Хром браузером по умолчанию )
ждать 60 секунд (в это время сайт загружается и ничего не делать,ждать)
после прошествии 60 секунд
закрыть Хром,
запустить cmd.bat (простой батник с одной-двумя простыми командами,выполняется быстро и сам закрывается,находится тамже где и скрипт)
.....и опять начало следующего цикла....
В идеале конечно цикл должен равняться количеству строк конечно т.е. если N строк то и N циклов должно быть выполнено

отметить:
Реализация посточного копирования или вырезания не важно как:
файл list.txt не важен вообще, можно и посчитать количество строк и сделать на это количество строк = количество циклов а можно и вырезать первую строчку и поднимать нижние на его место и сохранять с изменением list.txt

Также хочется отметить чтобы (а может это и не нужно)
domen получил присвоение autoit.ru\ например и оно получается не меняется вообще
katalog получила присвоение построчному значению например и оно на протяжение только цикла не менялось,вначале другого менялось т.к. копировали\вырезали строку из list.txt

чтото типа
domen = autoit.ru\
katalog = получит значение строки и оно постоянно только на время выполнения одного цикла,потом оно затирается(вырезаем или копируем в буфер следующую строчку)

также хочу отметить что "\" должен обязательно остаться в domen (domen=autoit.ru\ а не domen=autoit.ru) (!)

(!)-это важно для меня
помогите пожалуйста

Нашел очень похожую тему
http://autoit-script.ru/threads/skopirovat-iz-txt-stroku-v-bufer.26842/

используем код товарища ra4o, меняем немного под себя


Код:
#include <Array.au3>
#include <File.au3>

Local $iline
While True
_FileReadToArray("list.txt", $iline)
ClipPut($iline[1])
_ArrayDelete($iline,1)
_FileWriteFromArray("list.txt", $iline,1)

$domen="autoit.ru/"           ; присвоит значение переменной домен
$katalog="$domen & ClipGet()" ; хочу получить итоговую ссылку и добавить ее в буфер
ClipPut($katalog)

;или правильнее?     ClipPut("autoit.ru/" & ClipGet())

;#include <Process.au3> ;я не знаю как подругому вызвать Хром и скормить ему ссылку из буфера,с помощью этого получалось
;_RunDos("start chrome.exe "'&$katalog&'"")
;_RunDos(start ClipGet())                              ;установить в системе Хром по умолчанию и запускать ссылку из буфера?

Sleep(60000)

Send("!{F4}")          ;т.к. окно будет активным применить простую комбинацию ALT+F4
_RunDos('D:\files\cmd.bat')      ;запуск простого батника в этой папке и сам скрипт

WEnd

 
Последнее редактирование:

chery

Новичок
Сообщения
5
Репутация
0
Код:
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

; Домен и файл со списком каталогов
domain := "autoit.ru\"
listFile := "list.txt"

; Читаем файл и разбиваем на массив строк
FileRead, content, %listFile%
lines := StrSplit(content, "`n", "`r")

; Цикл по строкам из файла
for index, line in lines
{
    ; Формируем полный URL
    fullUrl := domain . line

    ; Открываем URL в браузере Chrome
    Run, chrome.exe --new-window %fullUrl%

    ; Ждем 60 секунд
    Sleep, 60000

    ; Закрываем Chrome
    Process, Close, chrome.exe

    ; Запускаем cmd.bat
    RunWait, cmd.bat
}

MsgBox, Завершено
ExitApp


  • Убедитесь, что файлы list.txt и cmd.bat находятся в той же папке, что и скрипт AutoHotkey.
  • Запустите скрипт, дважды кликнув на файле ".ahk". Он будет последовательно открывать каждый URL в файле list.txt в браузере Chrome, ждать 60 секунд, закрывать Chrome и запускать cmd.bat.
Обратите внимание, что этот скрипт не проверяет наличие Chrome на вашем компьютере. Если Chrome не установлен, скрипт не будет работать. Вам также может потребоваться указать полный путь к исполняемому файлу Chrome, если он не находится в системной переменной PATH.
 
Верх