Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Обработка запросов. Создание словарей синонимов. (http://forum.oszone.net/showthread.php?t=332247)

Кирилл_Трофименко@vk 01-01-2018 16:58 2788383

Обработка запросов. Создание словарей синонимов.
 
Есть у меня давняя задумка реализовать компьютерного помощника и столкнулся с проблемкой..

Например требуется завершить процесс в нужное время(например блокнот)
Человек пишет "Закрой блокнот в 11:25"
Батник обрабатывает запрос и делает команду taskkill... ла ла ла
Как реализовать обработку по запросу?

И не отходя от кассы второй вопрос.
Если мы настроим прогу под определенную последовательность ввода, а человек введет не "Закрой блокнот в 11:25", а например "Выруби блокнот в 11:25"
Компьютеру нужен еще словарь синонимов, aka
Закрой = close
Выруби = close
Собственно вопрос опять стоит в реализации

Сможет кто помочь или направить на какой источник инфы на эту тему?

alpap 02-01-2018 22:24 2788644

Цитата:

Цитата Кирилл_Трофименко@vk
требуется завершить процесс в нужное время »

Цитата:

Цитата Кирилл_Трофименко@vk
Человек пишет »

Нет, пишет компьютер
С помощью планировщика в нужное время запускается файл name.bat, в котором примерно:
Код:

@echo off
set "p=процесс такой-то"
set /p "v=Завершить %p%? Y/N"
if "%v%"=="Y" (taskkill /f /im "%p%"& exit /b)
if "%v%"=="N" (echo Процесс "%p%" еще нужен)
pause

И не надо никаких синонимов

mwz 02-01-2018 22:28 2788645

Цитата:

Цитата alpap
Нет, пишет компьютер »

Я так понял, что человек пишет свободным стилем, какую программу во сколько завершить.

И автору вопроса надо, чтобы компьютер понял жаргон этого человека, его неграмотные выражения, очепатки и т.д.: чтобы с одной стороны закрыть то, что нужно , а с другой— не дать закрыть то, что закрывать не нужно или вообще нельзя.

NLOLegion 13-01-2018 06:58 2790958

Кирилл_Трофименко@vk, реализовать подобную работу очень сложно!
1) Вопрос синонимов можно решить скачиванием словаря таковых, но ещё надо научить sed находить в этом словаре слово, оставлять только синонимы к этому слову, и работать скрипту при наличии команды (например taskkill) при соответствии к одному из слов. Но с учётом гибкости русского языка "выруби" может определиться как "обездвижить" и это только один пример. Однозначно появятся трудности.
2) Чтобы закрыть приведенный пример Блокнот, нужно получить весь список процессов, а на этом форуме никто не дал ответа как это сделать с временем запуска всех процессов(может невозможно?), а оно может понадобиться, и найти в этом списке соответствующий процесс, а для этого слово "блокнот" нужно прогнать по какой-либо базе (или интернет) и определить какой процесс ему присвоен. Получение списка можно в этом примере упустить, так как если процесса нет то и закрываться нечему, но если смотреть на перспективу, то список нужен - например Открой Блокнот, и тогда надо анализировать нет ли уже запущенного процесса и может его просто нужно вывести на экран с тем что там записано, а не запускать новый.
3) Если нужно задействовать дату и время то я когда-то делал напоминания для голосового помощника и использовал подобную команду
schtasks /create /tn "НАПОМИНАНИЕ20.05.2015:14-33-10" /tr C:\A\finish.bat /sc once /st 14:33:10 /sd 20/05/2015
Можно на её примере всё что нужно сделать.


Время: 12:22.

Время: 12:22.
© OSzone.net 2001-