PDA

Показать полную графическую версию : [решено] Изменение файла hosts


habib2302
14-08-2016, 22:54
Доброе время суток. Можно организовать батник или cmd для изменения файла hosts с проверкой на наличие уже существующих записей.

Iska
15-08-2016, 01:07
Можно.

habib2302
15-08-2016, 09:00
Iska, Можете подсказать?

Опиум
15-08-2016, 10:46
habib2302, както так:
echo 127.0.0.1 love.mail.ru >%temp%\hosts.txt
type %windir%\system32\drivers\etc\hosts >>%temp%\hosts.txt
copy %temp%\hosts.txt %windir%\system32\drivers\etc\hosts

Iska
15-08-2016, 12:56
Iska, Можете подсказать? »
Могу. Что именно подсказать Вам?

Задавая конкретные вопросы или давая конкретные техзадания, Вы будете получать конкретные ответы или решения. Задавая общие вопросы или ТЗ — получите такие же ответы.

mwz
15-08-2016, 18:07
Опиум, както так »
И где проверка, что в файле hosts нет строки с love.mail.ru, которую вы туда вносите?
А если их там уже десяток (например, после десятикратного выполнения "как-то так")?

habib2302
15-08-2016, 18:29
Iska, Меня интересует батник для изменения hosts с проверкой на наличие уже существующих записей. Подскажите пример этого батника!
Нашел один пример

@ECHO OFF
TITLE Блокировка адресов, ответственных за проверку лицензий Piriform

ECHO Блокировка в файле hosts адресов, ответственных за проверку
ECHO легитимности лицензий продуктов семейства Piriform
ECHO _______________________________________________________________________
ECHO.
REN %WINDIR%\system32\drivers\etc\hosts hosts77 > nul
IF %ERRORLEVEL% NEQ 0 (
ECHO Файл hosts заблокирован для редактирования.
ECHO.
ECHO Либо Вы запустили данный патч не от имени администратора,
ECHO либо внесение изменений блокирует установленный у Вас антивирус.
ECHO.
ECHO.
PAUSE
EXIT
)
REN %WINDIR%\system32\drivers\etc\hosts77 hosts > nul
FIND /c /i "license.piriform.com" %WINDIR%\system32\drivers\etc\hosts > nul
IF %ERRORLEVEL% NEQ 0 (
ECHO ^127.0.0.1 license.piriform.com >> %WINDIR%\system32\drivers\etc\hosts
ECHO Адрес license.piriform.com успешно добавлен в файл hosts.
) ELSE (
ECHO Адрес license.piriform.com уже имеется в файле hosts.
)
ECHO.
ipconfig /flushdns > nul
ECHO Кэш сопоставителя DNS успешно очищен.
ECHO _______________________________________________________________________
ECHO.
ECHO Все необходимые изменения успешно внесены!
ECHO.
ECHO.
PAUSE

mwz
15-08-2016, 18:58
с проверкой на наличие уже существующих записей »

Допустим, проверили.

Исход 1: записи нет.
Исход 2: запись URL (вторая часть строки) есть, но IP, куда его перенаправлять (первая часть), не совпадает с тем, какой собираетесь вставить.
Исход 3: записи совпадают полностью.

Что дальше делаете? Удовлетворили любопытство и вставляете свою строку, как это следует из вашего вопроса?

MKN
18-08-2016, 16:23
Можно организовать батник или cmd для изменения файла hosts с проверкой на наличие уже существующих записей »
Можно, то только при условии, что hosts не защищён каким либо антивирусом. Про это часто забывают...




© OSzone.net 2001-2012