Показать полную графическую версию : Поиск по картинке в Яндекс или Гугл через контекстное меню проводника Windows
atatat111
02-12-2016, 11:08
Помоги, пожалуйста, как добавить пункт в контекстное меню для фотографий в проводнике Windows поиск по картинке в Яндекс или Гугл?
Как например сделан в хроме поиск по картинке в Гугл.
https://yandex.ru/images/
https://www.google.ru/imghp
Переношу в скрипты, пусть ломают голову, может, веб запрос пошиком сервису придумают...
atatat111
04-12-2016, 18:00
Vadikan, Спасибо!
Up 2018
Никто не нашел решения случаем?
Нашел такие скрипты:
@set @x=0; /*
@echo off
SetLocal EnableExtensions DisableDelayedExpansion
set "live=%USERPROFILE%"
REG ADD "HKCR\AllFilesystemObjects\Shell" /f >nul 2>&1 || if "%~2" neq "Admin" (
echo Для установки надстройки требуются повышенные права.
cscript.exe //nologo //e:jscript "%~f0"& Exit /B) else (echo Вы не обладаете необходимыми привилегиями& pause& Exit /B
)
:begin
cls
echo. Введите цифру и нажмите { ENTER }
echo.
echo. Установить:
echo.
echo 1. Поиск в Google
echo 2. Поиск в Yandex
echo.
set /p "ch=Ваш выбор: "
::Первая часть VBS
for /f "delims=[]" %%N in ('find /n ":UnpackVBS" ^<"%~f0"') do set /a num=%%N
more +%num% >"%live%\KozaN.vbs" <"%~f0"
::Вторая часть VBS
if "%ch%"=="1" (
set VerbName=Найти в "Google"
>> "%live%\KozaN.vbs" echo CreateObject^("WScript.Shell"^).Run "explorer ""https://google.ru/search?ie=UTF-8&hl=ru&q=" ^& Arg ^& """"
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /v Icon /t REG_SZ /d "%USERPROFILE%\google.ico" /f
1>nul copy "%~dp0google.ico" "%USERPROFILE%" /y
)
if "%ch%"=="2" (
set VerbName=Найти в "Яндекс"
>> "%live%\KozaN.vbs" echo CreateObject^("WScript.Shell"^).Run "explorer ""http://yandex.ru/yandsearch?text=" ^& Arg ^& """"
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /v Icon /t REG_SZ /d "%USERPROFILE%\yandex.ico" /f
1>nul copy "%~dp0yandex.ico" "%USERPROFILE%" /y
)
if not Defined VerbName goto begin
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /f
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /ve /t REG_SZ /d "%VerbName%" /f
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath\command" /f
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath\command" /ve /d "wscript.exe //nologo \"%live%\KozaN.vbs\" \"%%1\"" /f
echo.
echo Установка завершена.
echo.
echo "SafeZone.cc"
echo.
pause
Exit /B
*/try {
var ShellApp = new ActiveXObject('Shell.Application');
ShellApp.ShellExecute ('cmd.exe', '/c ""' + WScript.ScriptFullName + '" "" "Admin"','','runas',1);
} catch (e) { }/*
:UnpackVBS
On Error Resume Next
if WScript.Arguments.Count = 0 then WScript.Quit
Arg = WScript.Arguments(0)
Arg = Mid(Arg, InStrRev(Arg, "\") + 1)
Arg = Replace(Arg, " ", "%20")
set ShellApp = CreateObject("Shell.Application")'*/
@set @x=0; /*
@echo off
SetLocal EnableExtensions DisableDelayedExpansion
echo Удалить пункт котексного меню поиска в Яндекс/Google ?
echo.
:begin
echo 1. Да,удалить (введите цифру 1 и нажмите клавишу Enter)
echo 2. Нет,не удалять (введите цифру 2 и нажмите клавишу Enter)
echo.
set /p "ch=Ваш выбор: "
echo.
echo.
if "%ch%"=="1" (REG DELETE "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /f || if "%~2" neq "Admin" (
echo Для выполнения операции требуются повышенные права.
cscript.exe //nologo //e:jscript "%~f0"& Exit /B) else (echo Вы не обладаете необходимыми привилегиями& pause& Exit /B
)
if exist "%USERPROFILE%\google.ico" (del "%USERPROFILE%\google.ico" /q) else del "%USERPROFILE%\yandex.ico" /q
cls
echo.
echo Удаление завершено.
echo Для выхода нажмите клавишу Enter
echo.
echo "SafeZone.cc"
echo.
pause > nul
Exit /B
)
if "%ch%"=="2" (echo Операция отменена,для выхода нажмите клавишу Enter
pause > nul
exit /b
)
if not Defined VerbName (echo Неверный выбор!
echo.
echo Выберите один из пунктов:
echo.
goto begin)
*/try {
var ShellApp = new ActiveXObject('Shell.Application');
ShellApp.ShellExecute ('cmd.exe', '/c ""' + WScript.ScriptFullName + '" "" "Admin"','','runas',1);
} catch (e) { }/*
:UnpackVBS
On Error Resume Next
if WScript.Arguments.Count = 0 then WScript.Quit
Arg = WScript.Arguments(0)
Arg = Mid(Arg, InStrRev(Arg, "\") + 1)
Arg = Replace(Arg, " ", "%20")
set ShellApp = CreateObject("Shell.Application")'*/
Но они добавляют в контекстное меню только поиск в Яндекс и Google. Может кто сообразит как переделать их под Яндекс.Картинки??
Serguei Kouzmine
10-04-2018, 03:25
старый пример (рабоает)
https://www.linuxquestions.org/questions/blog/the-dsc-472367/google-reverse-image-search-from-command-line-geeqie-etc-with-python-and-shell-scripts-36719/
#!/usr/bin/env python
import sys
filePath = sys.argv[-1]
import requests
searchUrl = 'http://www.google.com/searchbyimage/upload'
multipart = {'encoded_image': (filePath, open(filePath, 'rb')), 'image_content': ''}
response = requests.post(searchUrl, files=multipart, allow_redirects=False)
fetchUrl = response.headers['Location']
print fetchUrl
import subprocess
subprocess.call([r'/opt/firefox/firefox', fetchUrl])
./test.py ~/Desktop/butterfly.jpg
новая документация -
https://developers.google.com/custom-search/json-api/v1/overview#data_format
Serguei Kouzmine
10-04-2018, 03:27
вот скриншот
Можно и без Python'а. На PowerShell: powershell - Script to use Google Image Search with local image as input - Stack Overflow (https://stackoverflow.com/questions/14634321/script-to-use-google-image-search-with-local-image-as-input), над результатом функции Get-GoogleImageSearchUrl тупо исполняем (New-Object -ComObject 'Shell.Application').ShellExecute(…) передавая обработку на откуп системе. Теоретически (не проверялось) может и WSH вдруг зайти.
А как тоже самое, но для Яндекс.Картинок сделать??
Serguei Kouzmine
10-04-2018, 17:47
кстати интересно что если jpg брать из $imageFilePath = "$($env:USERPROFILE)/Pictures/butterfly.jpg" то возникает еще
The process cannot access the
file 'C:\Users\Serguei\Pictures\butterfly.jpg' because it is being used by another process. -
Serguei Kouzmine, и какой процесс его там «держит» — не смотрели? У меня такой проблемы не возникает.
А как тоже самое, но для Яндекс.Картинок сделать?? »
По-хорошему, надо смотреть в код всяческих дополнений для Firefox типа «Поиск по картинке» для варианта с Яндексом, и пробовать адаптировать под PowerShell.
По-хорошему, надо смотреть в код всяческих дополнений для Firefox типа «Поиск по картинке» для варианта с Яндексом, и пробовать адаптировать под PowerShell. »
В Opera 12 все решается добавлением в контекстное меню:
Item, "Искать на Яндекс.Картинках" = Copy image address, -2,,, "yk" & Go to page, "javascript:void(window.open('http://yandex.ru/images/search?img_url=' + encodeURIComponent('%c') + '&rpt=imageview'));"
В Opera 12 все решается добавлением в контекстное меню: »
Sisin, это Вы так шутите, да? И как же при этом а) содержимое б) локального файла попадёт на сервер?
Sisin, это Вы так шутите, да? И как же при этом а) содержимое б) локального файла попадёт на сервер? »
Это не локальный файл, а картинка на сайте...
Sisin, в том-то и дело. Передаётся банальный Url, но нам-то нужно совсем, совсем другое.
Patroklos
11-04-2018, 12:14
Я понятия не имею зачем может понадобиться поиск из експлорера но вот за три минуты нагуглил поиск по картинкам из експлорера вгугле. Это то что надо?
https://github.com/apsun/GoogleImageShell
Я понятия не имею зачем может понадобиться поиск из експлорера но вот за три минуты нагуглил поиск по картинкам из експлорера вгугле. Это то что надо?
https://github.com/apsun/GoogleImageShell »
Это то, что на предыдущей странице...
PS: Я тоже гуглить умею)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.