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

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

habib2302 14-08-2016 22:54 2659857

Изменение файла hosts
 
Доброе время суток. Можно организовать батник или cmd для изменения файла hosts с проверкой на наличие уже существующих записей.

Iska 15-08-2016 01:07 2659882

Можно.

habib2302 15-08-2016 09:00 2659917

Iska, Можете подсказать?

Опиум 15-08-2016 10:46 2659964

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 2660040

Цитата:

Цитата habib2302
Iska, Можете подсказать? »

Могу. Что именно подсказать Вам?

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

mwz 15-08-2016 18:07 2660138

Опиум,
Цитата:

Цитата Опиум
както так »

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

habib2302 15-08-2016 18:29 2660143

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 2660151

Цитата:

Цитата habib2302
с проверкой на наличие уже существующих записей »

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

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

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

MKN 18-08-2016 16:23 2661093

Цитата:

Цитата habib2302
Можно организовать батник или cmd для изменения файла hosts с проверкой на наличие уже существующих записей »

Можно, то только при условии, что hosts не защищён каким либо антивирусом. Про это часто забывают...


Время: 00:23.

Время: 00:23.
© OSzone.net 2001-