Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как обойти эту капчу selenium c#?

Лучший ответ:
АХхаах капча, смешно...
Всего на сайте 6 капч с символичным названием, думаю не нужно объяснять сколько на какой звездочек....
https://ru.topkinder.com/img/captcha/7.png
https://ru.topkinder.com/img/captcha/8.png
https://ru.topkinder.com/img/captcha/9.png
https://ru.topkinder.com/img/captcha/10.png
https://ru.topkinder.com/img/captcha/11.png
https://ru.topkinder.com/img/captcha/12.png
https://ru.topkinder.com/img/captcha/13.png

P.S. Напишите кто нибудь разработчикам чтобы хотя-бы recapcha прикрутили....
P.P.S. На самом тут вообще нет проверки капчи на сервере, и selenium тут не нужен.
Банально шлем POST Запрос application/x-www-form-urlencoded , на адрес https://ru.topkinder.com/ankets
2 поля , captcha указываем 1,  id это id участинка, по идее они идут все по порядку, можно всех перебрать.  Всё! Голос учтен. Ну они хотя-бы не очень тупые,  они добавляют ip голосующего и при следующем голосе  на этот же Id он не учтется, а значит нужно найти столько живых проксей сколько мы хотим накрутить голосов....

Худший ответ:
Ищи эту строку, после неё сразу название идёт.
/img/captcha/
Вопрос: Как защитить траффик?

Лучший ответ:
Так вот они смогли определить мой айпи.
И что из этого следует? Это только даст сведения, каким провайдером вы пользуетесь. Сведения об абонентах, которым выделялся этот IP в определенный период времени, могут запрашивать только правоохранительные органы.
На этом телефоне я был залогинен в инсту через приложение. Короче они нашли мою инсту.
Вывод неверный. Для поиска профилей человека в соц. сетях не нужно иметь доступ к его устройствам. Фотографий, ФИО, ник, город, школа, список друзей - вполне достаточно для поиска, или прикинуть на глаз, что профиль из одной соц. сети похож на профиль другой соц. сети.
И они как бы видят, что я делаю в интернете.
Если профили открыты и виден статус онлайн, видно как что-то постите в группах и у себя в профиле, и ничем вы больше не занимаетесь - ну, можно сказать, да. Вы же сами держите все это в открытом состоянии.
Они видят мой рабочий стол и могут заходить в мои папки, перемещать, копировать файлы оттуда
Если вы не настраивали общий доступ к папкам и не настраивали удаленное подключение к компу, то мало вероятно.
У меня вопрос можно ли это прекратить сделав динамический айпи, поменять на провайдера с динамическим айпи
У всех провайдеров для физ. лиц используется динамические IP. Наоборот, чтобы получить постоянный, нужно платить как за отдельную услугу.
иногда сайты меня спрашивают про куки
Считается хорошим тоном, если сайт спрашивает у пользователя, можно ли использовать куки для хранения настроек сайта (язык, выбранный город и т.д.).
Возможно, от испуга вы зачистили историю браузера. Теперь такие сайты не помнят, что вы посещали их и заново все спрашивают.
Еще они могут замедлять мне интернет, видимо делают ддос атаку. 
На IP, предназначенный для раздачи интернета физ. лиц не имеет смысл делать DDoS. Вас бы реально могло это обеспокоить, если бы вы администрировали свой собственный сайт,  и сайт бы имел важную для вас аудиторию, которая бы не могла бы получить доступ к сайту из-за атаки.
У меня хром начинает занимать 99% цп, и ноут нагревается блин потом короче сайт виснет, трудно работать короче.
У хрома есть свой мини антивирус - Software Reporter Tool. Он периодически включается чтобы проверить окружение браузера на вирусы. Может включаться и почаще, если в окружении появляются много новых файлов кеша истории, если вы делали недавно зачистку истории.
Вы просто на это не обращали никогда внимания. Вот и все.

Худший ответ:
дай объяву на фриланс уже с почасовой консультацией  - и все тебе вылечат,
чем раз в месяц тут эти топики повторять
Вопрос: Как поставить пароль на ПК?

Лучший ответ:
Возможно, как-то через биосДа.
https://www.google.com/search?q=bios+пароль
Только его легко сбросить, вытащив батарейку из материнской платы. Так что вам нужно ещё купить небольшой навесной замок и запирать корпус.
некоторые теперь хотят «погулять» на халявуЕсть вероятность, что если жадничать, то сделают пакость вашему новому железу. Так что следующий шаг - видеонаблюдение с подключением ГБР. :) Решать вам.



Худший ответ:
Никак. Нет такой опции. Есть только пароль на биос, но он легко сбрасывается
Вопрос: Как работают самокэширующиеся (если это слово подходит) веб-приложения?

Лучший ответ:
В ютубе реализовано через Service Worker https://developer.mozilla.org/ru/docs/Web/API/Serv...
Через pwa тоже можно

Худший ответ:
Давно замечал, что при отсутствии соединения с Интернетом некоторые веб-приложения (например, Outlook) все равно загружаются, а уже на странице самого приложения появляется сообщение об отсутствии соединения. 
Когда браузер делает запрос к серверу - сервер может сообщить браузеру, как надо кэшировать те или иные ресурсы.
Это делается заголовком Cache-Control
И тогда потом браузер может сам из своего кэша достать данные, вместо того чтобы делать запрос к серверу.
Вопрос: Как быстро сравнить огромные списки словарей?

Лучший ответ:
Отсортировать оба массива, сравнивая по column1, column2, column3
(функция сравнения сначала сравнивает строки из column1, при их равенстве - column2, и т.д.)
дальше можно будет за линейное время сделать сравнение, обходя параллельно оба массива.

Худший ответ:
from collections import defaultdict

a = [{'a': '1', 'b': '2'},
     {'a': '1', 'b': '2'},
     {'a': '5', 'b': '7'}]
b = [{'a': '3', 'b': '4'},
     {'a': '1', 'b': '2'}]


def make_hash_table(list_of_dicts):
    hashes = defaultdict(list)

    for i, item in enumerate(list_of_dicts):
        calculated_hash = hash(frozenset(item.items()))
        hashes[calculated_hash].append(i)

    return hashes


# Считаем хеши
a_hashes = make_hash_table(a)

b_hashes = make_hash_table(b)

# Определяем через вычитание множеств каких хешей у нас нет

not_in_a = [b[b_hashes[hash_value][0]] for hash_value in b_hashes.keys() - a_hashes.keys()]

not_in_b = [a[a_hashes[hash_value][0]] for hash_value in a_hashes.keys() - b_hashes.keys()]

print('Not in a \n')
print(not_in_a)
print()
print('Not in b \n')
print(not_in_b)

OUT

Not in a 

[{'a': '3', 'b': '4'}]

Not in b 

[{'a': '5', 'b': '7'}]
Вопрос: Каков уровень знаний для джуниор фронтенд разработчика?

Лучший ответ:
Для Джунов важно хорошо выполнить тестовое задание. Если тебе такое не дают, то компания не понимает как работать с Джунами и сама работа будет тяжёлой, т.к. менеджеры зачастую вообще не понимают в программировании. Вывод: достаточно знать HTML, CSS, JS - остально ты выучишь прям на работе. Тестовое задание тоже всегда на ванильном JS требуют выполнить, препроцессоры - по усмотрению (я рекомендую SCSS).

Худший ответ:
Для Джунов важно хорошо выполнить тестовое задание. Если тебе такое не дают, то компания не понимает как работать с Джунами и сама работа будет тяжёлой, т.к. менеджеры зачастую вообще не понимают в программировании. Вывод: достаточно знать HTML, CSS, JS - остально ты выучишь прям на работе. Тестовое задание тоже всегда на ванильном JS требуют выполнить, препроцессоры - по усмотрению (я рекомендую SCSS).
Вопрос: Как сделать работу бота бесконечной?

Лучший ответ:
Во-первых, у вас похоже циклический импорт - вы в модуле start импортируете funk, в модуле funk импортируете start. 
Во-вторых, вы в start вызываете Polling, а в Polling вызываете Auth, а в Auth вызываете Polling. 
Винегрет с колбасой какой-то. Исправлять это бесполезно, проще заново написать. 

Оставьте в покое ботов, разберитесь с простыми вещами в языке и в алгоритмах.

Худший ответ:
Попробуйте лучше прописать import func, а затем запускать func.Polling()
Вопрос: Переход между направлениями?

Лучший ответ:
перейти, при наличии мозгов и желания – элементарно.

что касается "уровня/зп" – всё условно и индивидуально. обычно просадка есть даже в рамках одного языка. и это обусловлено тем, что каждая область имеет свои нюансы, которые даже прокачанному ньюкамеру могут быть незнакомы.

но, если с мозгами, на прежний уровень можно легко выйти в течение года.

будет ли работодатель рассматривать на позицию миддл бек бывшего миддла фронтендщика ?конечно будет, если потяните и сможете это доказать.
обычно такого не бывает.

Худший ответ:
Можно ничего не менять и получить просадку в з/п, вон как в 14м году рубль упал, и все, у кого з/п была в рублях - просели. Все меняется в жизни много раз, и если дрожать за каждую копейку, можно всю жизнь прожить не для себя, а ради этих копеек. Делайте то, что нравится. Когда человеку нравится работа, он работает с самоотдачей и энтузиазмом, а самоотдача и энтузиазм - такая редкость, что ценится очень высоко в любой сфере.

будет ли работодатель рассматривать на позицию миддл бек бывшего миддла фронтендщика ? - смотря какой работодатель.
Вопрос: Как передать значение textarea в переменную с сохранением абзацев используя JS?

Лучший ответ:
Можно сделать просто через CSS. Добавляем элементу #res свойство white-space c любым из этих значений: pre-wrap или pre-line и переносы строк  визуально будут сохраняться.

Худший ответ:
Заменил textContent на InnerText и помогло.
Вопрос: Большая ли вероятность найти удалённую работу в SEO?

Лучший ответ:
Вероятность 50/50 — или найдете или нет

Худший ответ:
вероятность маленькая, идти в эту сферу не стоит :D
Вопрос: Какой есть вуз с магистратурой, чтобы стать fronted-developer?

Лучший ответ:
Вуза  дают  образование.  Frontend-developer  это не  образование.  Это  просто   професия.

Худший ответ:
Для любой IT-специализации лучшей базой будет мех-мат МГУ.
Вопрос: Какой хостинг VDS в РФ посоветуете под следующий пул задач?

Лучший ответ:
Конфиги для первого и третьего типа серверов есть у каждого хостера почти. А вот для второго типа не у всех. Кс сервера лучше держать на серверах с хорошим процем. А ля ксеонов 2288g или же корах настольных с высокой частотой.

Знаю что у таймвеба есть конфиги для всех типов, нужных тебе. Но если считать по 1 ядру 5 ггц на каждый кс серв, то получается очень дорого. И на одном серваке не поместится все в любом случае. 8 ядер максимум. Как вариант поместить кс сервера на дефолтные вдски от таймвеба по 3.3 ггц. Потести, не знаю что из этого выйдет. Если слотов не 64 и плагинов не туева хуча, то по идее должно норм работать даже на 128 тике. Желательно на каждый серв по ядру брать. Оперативки гигов 20-30.  Диск гигов 200-300 (насколько помню серв по кс стаковый весит около 15 гб). 
Для веб-сервера бери их дефолтные конфиги. Пару ядер и пару гигов оперативки думаю хватит. А лучше все протестить под нагрузкой и в случае чего скейлить.
Для файлового сервака конфиг hdd. Тоже самое пару ядер и пару гигов оперативки и терабайт - два жесткого диска.

Между всем этим делом надо бы организовать локалку. Все-таки демки с 10 серваков тяжело будет по внешке отдавать. На таймвебе лимит канала 200 мбит. 

Можно все это дело организовать и на облаке по типу vk cloud solutions. Но там дороже выйдет. За то можно свободно скейлится как угодно и коннектить любые диски. В этом плане облако более гибкое. И канал там чуть ли не 4 гигабита (хотя обещают около гигабита)

Худший ответ:
Какой ЦОД требуется?
есть решения на hdd, ssd и nvme
в завимости от задач.
можно даже перенести второй VPS на ту же ноду.
Вопрос: Как научить бота на питоне понимать смешанные сообщения?

Лучший ответ:
msg = "бот запомни 200 и 100"
if msg.startswith("бот "):
    post_msg = msg.replace("бот ", "", 1)
    if post_msg.startswith('запомни '):
        received_data: list = post_msg.replace("запомни ", "", 1).split(" и ")
        print(received_data)

Худший ответ:
https://aws.amazon.com/ru/comprehend/features/
Можно попробовать AWSсный сервис или аналоги.
Подобные сервисы могут выдать и сущности и обращения и общий окрас. Допустим согласие или отрицание.
"если запомнишь это, я с тобой больше не дружу" => False Developer ;)
Вопрос: Почему файлы открываются программой с сервера?

Лучший ответ:
RemoteApp - это по сути RDP сессия без рамки.
Поэтому любые запуски чего-то ещё из этого приложения будут выполнены на сервере.

Худший ответ:
надо в вашей обработке передать файл с сервера на клиент и запустить открывашку файла на клиенте
Вопрос: Насколько сложно создать эмулятор nes на c#?

Лучший ответ:
Смотрите сами, насколько это для вас сложно
https://github.com/Xyene/Emulator.NES

Худший ответ:
Написать возможно, тк есть например эмулятор nintendo switch на шарпе: https://ryujinx.org/
Вся документация по устройству nes и формату ромов находится в открытом доступе.
https://wiki.nesdev.org/w/index.php?title=Programm...

Библиотеки все нужные есть - просто достаточно загуглить, какую именно задачу в плане эмуляции тебе надо решить.
Но почти всё придётся писать самому.
Вопрос: Нужна ли формам семантика?

Лучший ответ:
Семантика нужна не только для удобства слепых и любителей TAB клавиши. Почитай статьи, как это влияет на поиск в гугле, восприятие плагинами, дополнениями и ботами. Даже тот же ИИ настраивают под семантику. В эту тему можно нырнуть на очень большое время, но основа (вкратце) - возможность понимать друг друга. Время , потраченное на создание архитектуры проекта, может быть больше, чем на написание кода. Зачем? А это самое интересное! Во- первых, ты уберегаешь себя и коллег от возможных багов и позволяешь легко ориентироваться по файлам, не зависимо от размера и познания в проекте. Хороший код - тот, который можно легко читать. Зачастую приходиться уступать производительностью ради читабельности. Придерживаться семантики - значит писать в едином стиле со всеми разработчиками. Даже если опустить архитектуру, то семантика нужна и для различных ботов. Вот написал я плагин для хрома, который делает мини-навигацию по форме (на самом деле ничего я не писал, просто привожу пример) и ориентируется поиск по тегу с формой, а у тебя на странице такого даже нет и всё, плагин работать не будет. А теперь представь какую фичу ты упускаешь, когда прячешь разметку от гугловских ботов. Любые таблицы, правила, списки и прочие семантические данные выводятся на странице поиска. Попробуй загуглите какую-то страну или инструкцию для, например, убунту. Гугл выведет информацию из Википедии или другого ресурса, не заходя на сайт. Думаешь, Телеграм не использует семантику? Вот весь такой оптимизирован благодаря ей. Посмотри на ютубе семинары от HTML Academy по семантике. Там всё доступно объясняют (что очень большая редкость для онлайн курсов). Понятное дело, что собирая сайт через фреймворки или путем встраивания html из js, боты не увидят эту семантику, а просто один тег с Id=“root”. Если взять в пример Figma, то семантики ты не увидишь, так как это не задумывалось как сайт, а скорее как приложение. Не придумали в html ещё таких тэгов как «рисовать пером» или что-то вроде «шаблон шаблона страницы». В общем семантика должна быть там, где она уместна. Если тебе не нужны привилегии семантической разметки или это соло проект без развития или вообще ты делаешь проект на оте*бись для плохого заказчика за 5$, то можешь не заморачиваться. Но в остальных случаях хорошей практикой, да и просто для себя, будет уместно и очень полезно использование семантики.

Худший ответ:
Семантика не только для слабовидящих. Она, например, про управление с клавиатуры, когда во второй руке у вас ребенок или кот.
А слабовидящие могут выбирать подарок для человека с хорошим зрением, например.

Семантика — это довольно дешёвый способ обеспечения доступности.
Вопрос: В чём ошибка в коде JavaScript?

Лучший ответ:
|| (без пробела), а не | |

Худший ответ:
А че за пробел между или (||)?
Вопрос: Почему sql-оператор IN (в WHERE) плох с точки зрения оптимизации?

Лучший ответ:
Использование оператора IN (значение0, значение1, значение2) никак не сказывается на производительности SQL-запроса. 
Чтобы запрос был менее ресурсозатратным, надо посмотреть результат EXPLAIN и расставить индексы.

Худший ответ:
Данный вопрос никак не решается в scope знаний об чистом языке SQL.
Здесь надо смотреть конкретную DBMS (Postgres/MySQL) и смотреть какой она выбрала план.

Более того. Знания о том как сработал Postgres нам не дают никакой подсказки о том как это сработает
в других системах.
Вопрос: На чем писать соц сеть?

Лучший ответ:
На том языке, которым владеете на достаточном для реализации задачи уровне.
С текущей максимально размытой постановкой задачи - любые другие варианты будут озвучиваться по принципу:
всяк кулик своё болото хвалит

Худший ответ:
Раз вы JS-ер, то на JS и пишите. Если знаете Angular, то Nest вам должен понравиться.
Вопрос: Как сделать слайдер с видео отзывами?

Лучший ответ:
Если прямо максимально просто, можете сделать один блок, в него засовывать блоки с видео, задать родительскому блоку максимальную ширину и управлять им с помощью overflow: auto на телефоне, а на десктопе можете написать немного логики для кнопок пролистывания, с помощью block.scrollLeft
Но я бы лучше использовал готовый слайдер, ничего страшгого в том что вы подключаете файлы), тем-более что в теории этот слайдер может использовать много раз на странице

Худший ответ:
Согласен с мнением сверху. Лучше использовать готовый.
Вопрос: Как зашифровать алгоритм внутри программы?

Лучший ответ:
Никак. 

Вы можете только усложнить реверс инжениринг. Самый эффективный способ, если не очень важна производительность, то можно реализовать собственную виртуальную машину с кучей похожих, но немного разных инструкций, и реализовывать алгоритм на ней. Надо еще впихнуть в алгоритм всяких неважных действий, типа тут прибавить 5 к числу, оно потом в алгоритме умножается на 2, потом вычесть 8 и 2. Можно написать транслятор с простого скриптового языка на ЭТО, иначе вы и сами запутаетесь.

Но это все замедляет программу, сильно усложняет написание и поддержку, и в итоге все-равно ломается. В общем случае, "злоумышленник" может просто скопировать ваш алгоритм вместе с виртуальной машиной. Вы можете лишь сделать ему сложнее найти нужную часть кода.

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

Единственный достаточно надежный способ - это выполнять алгоритм на сервере и выдавать клиенту лишь его результат. Но это совсем не то, что вы имеете ввиду.

Худший ответ:
Вынести программу на смарт-карту или USB-токен. Эти устройства физически защищены, в том числе от послойного травления разного рода кислотами - выудить их прошивку чрезвычайно дорого.
Вопрос: Почему тормозит виртуальная машина в hyper v?

Лучший ответ:
Окно Hyper-V Manager не предназначено для работы  смашинами, оно для их администрирования.
Настраивайте соответствующий удаленный доступ к машине для работы  с ней.

Худший ответ:
почему тормозит анимация окон в ВМ Hyper-v Так отключите ее.
Нужна анимация и красивые плюшки - ставьте ПК пользователю и пусть работает.
Виртуальные машины для работы, а не для красивой графики.
Вопрос: Брут ip. Зайти с чужого ip?

Лучший ответ:
Как вариант vps с почасовой оплатой, а так плати за прокси, других вариантов нет

Худший ответ:
облачные сервисы типа amazon ec2 или тот же российский селектел, позволяют взять в аренду ip адрес с почасовой оплатой, но они не дадут гарантии что следующий ip адрес не будет выдан новый, а не тот что недавно тебе же выдавали, но к примеру разом взять пул адресов, использовать его часок - нормальный юзкейс.
Вопрос: Зачем в обычном проекте может понадобиться использование __invoke?

Лучший ответ:
__invoke() метод позволяет превратить объект в функцию, которую мы можем передавать/получать/резовлить через псевдо-тип callable.
Этакий элемент функционального программирования.

Хорошо подходит там, где мы выстраиваем pipe или reduce, для описания которых ФП подход  является наиболее выразительным и лаконичным. Не знаком с архитектурой Ларавел, но могу предположить, что для авторизации прорисовывается некоторый пайплайн, где можно выполнять разные пайпы или фильтры для првоерки/валидации или чего-либо именно с таким подходом и это более лаконично...

Пример:
public function add(callable $pipe) {
    //..
}

...

$pipeline = (new Pipeline)
     ->add(fn() => true)
     ->add(fn(bool $enabled) =>'Maks enabled')
     ->add(new MaksHandler()) // тут класс с методом __invoke и работает как анонимка
;

Худший ответ:
Ответ от Vitsliputsli 

Правильно, что не поняли, т.к. вам никто и не ответил.
Совершенно верно, можно просто указать метод, там где тип callable, и разницы нет никакой.
А можно как, выше написал Лентюй, просто вызвать метод класса, а его необходимость описать в интерфейсе без всяких callable вовсе.
Если вы используете ООП, то invoke вам не нужен, оперируйте объектами, а не функциями, и не мутантами вида "объект как функция".
Вопрос: Насколько часто в js библиотеках попадаются бэкдоры?

Лучший ответ:
Как от этого защититься?

Лучший способ защититься от подобного - отказаться от использования сторонних библиотек, по крайней мере уменьшить их количество. Однако, это не всегда возможно, так как написание того или иного функционала требует ресурсов и нет гарантии что получится написать качественный код. То есть написанный на коленке код за трое суток, конечно работать будет(возможно), но не так как должен на самом деле. 

Поэтому намного выгоднее и удобнее взять какую-нибудь популярную библиотеку прочитать документацию по ней и начать использовать в своём проекте.  Это конечно всё хорошо, но как защититься если всё таки используешь сторонние библиотеки? 

1. Хранить используемые библиотеки у себя.
2. Не обновляться без нужды, а если и обновляться, то проводить анализ обновленного кода. 
3. Нужно уметь читать код библиотек, полностью понимать что там написано, что делает каждая функция.  
4. Подключать библиотеки в проекте без использования CDN версий и прочего. Желательно со своего сайта, чтобы строго контролировать используемую версию библиотеки.
5. Желательно не использовать библиотеки, имеющие кучу внешних зависимостей.
6. По возможности использовать популярные библиотеки, но не доверять им на 100%. Тот факт что библиотека популярна и имеет сколько-то тысяч звездочек на Github, не гарантирует того, что однажды там не появится какой-нибудь гнилой код, выполняющий не очень хорошие действия. Помним про пункты: 1, 2, 3, 4, 5.

Конечно выполнение этих пунктов тоже требует ресурсов, но по крайней мере увеличивает шанс защититься от всяких нехороших сценариев.

Худший ответ:
Правда.

На фронте из опасного - воровать токены авторизованных пользователей, майнить крипту и переадресовывать на фишинговые сайты.

На беке - практически всё что угодно. Если вдруг еще и скрипт работает под рутом - тогда практически полный контроль на системой.

Как защититься? Использовать минимум библиотек и проверенные библиотеки. Тщательно смотреть какие библиотеки подключаются в проект, как они устанавливаются. Чем популярнее и фундаментальнее библиотека тем ниже шанс бекдора.  При установке популярных библиотек смотреть что это именно оригинальная библиотека, а не клон.  https://www.kommersant.ru/doc/5501418

Ну и еще можно позапускать проект в изолированном окружении и посмотреть за его активностью. Куда лезет, что отправляет и принимает.  Как минимум это необходимо знать для стабильности проекта.
Вопрос: Как сделать полную блокировку windows update на 10-ке?

Лучший ответ:
у меня стоит StopUpdates10
мне хватает

А что не помогает то? обновления прилетают?

Худший ответ:
если вин про, можешь подредактировать групповую политику computer policy -> administrative templates -> components -> windows updater или что-то такое.
можно установить сторонний фаервол и через него заблокировать указанные адреса.
Вопрос: Какой есть софт для последовательного выполнения команд на удалённом и своём компе?

Лучший ответ:
Любой скриптовый язык.

Худший ответ:
1.  На сервере по CRON выполняете задание.
2.  Данные копируете на свой компьютер - тут samba, ftp или что вам нравится.
3.  На своём компьютере по  SHEDULE выполняете скрипт/cmd/bat.
Задача основная по времени развести правильно.