Я хочу многократный поиск в Google Images. Я знаю, что есть что-то вроде
clipboard := StrReplace(clipboard, "+", "%2B")
, но как это возможно? Ниже приведен код, относящийся к разовому поиску.
url_encoding(str)
{
f = %A_FormatInteger%
SetFormat, Integer, Hex
if RegExMatch(str, "^\w+:/{0,2}", pr)
StringTrimLeft, str, str, StrLen(pr)
StringReplace, str, str, `%, `%25, All
Loop
if RegExMatch(str, "i)[^\w\.~%/:]", char)
StringReplace, str, str, %char%, % "%" . SubStr(Asc(char),3), All
else break
SetFormat, Integer, %f%
return, pr . str
}
F3::
image_search:
a = `%
old_clipboard := ClipboardAll
clipboard := url_encoding(clipboard)
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 2" --force-wave-audio --incognito --new-window https://www.google.com/search?tbm=isch&as_q=%clipboard%, , Max
clipboard := old_clipboard
return
Изменение с% clipboard% на% A_LoopField% привело к тому, что https://www.google.com/imghp?tbm=isch&as_q= было открыто при поиске ab c. Поэтому я добавил синтаксический анализ L oop:
F3::
image_search:
a = `%
old_clipboard := ClipboardAll
Loop, parse, clipboard, `n, `r
{
clipboard := url_encoding(clipboard)
Run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 2" --force-wave-audio --incognito --new-window https://www.google.com/search?tbm=isch&as_q=%A_LoopField%, , Max
}
clipboard := old_clipboard
return
Когда я затем открыл
abc
123
, каждый из поисковых запросов был открыт в новом окне. Но они должны быть открыты только в одном новом окне. Цель состоит в том, чтобы исключить пустые строки (также с пробелами), а также пробелы до и после поисковых запросов. Как только это будет сделано, url_encoding может быть использован для правильного поиска. Во всех этих случаях только что упомянутый код не работал. Например, если
abc & def
123 % 456
находится в буфере обмена, новое окно инкогнито должно отображать
abc & def
на вкладке 1 и
123 % 456
на вкладке 2.