Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запись в файл hosts с помощью bat-файла

Ответить
Настройки темы
CMD/BAT - [решено] Запись в файл hosts с помощью bat-файла

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго времени суток!
Помогите написать батник который будет вносить указанные домены с ай-пи 127.0.0.1 в файл hosts,

например такого содержания:

127.0.0.1 vkontakte.ru
127.0.0.1 odnoklasniki.ru
127.0.0.1 mail.ru

Заранее спасибо.

Отправлено: 19:47, 14-05-2010

 

Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
if exist %systemroot%\SysWOW64 (
set hosts=%systemroot%\SysWOW64\drivers\etc\hosts
) else (
set hosts=%systemroot%\System32\drivers\etc\hosts
)
cacls %hosts% /E /G All:F
cacls %hosts% /E /G ‚бҐ:F
attrib -s -r -h %hosts%
(echo.
echo #
echo 127.0.0.1 vkontakte.ru
echo 127.0.0.1 odnoklasniki.ru
echo 127.0.0.1 mail.ru
)>>%hosts%
cacls %hosts% /E /R All
cacls %hosts% /E /R ‚бҐ
ipconfig /flushdns
Если набираешь в дос-кодировке, то ‚бҐ замени на Все

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©


Отправлено: 20:51, 14-05-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


файл filename1.txt
@echo off
copy /Y /A %windir%\system32\drivers\etc\hosts + e:\filename2.txt %windir%\system32\drivers\etc\hosts

файл filename1.txt на диске E: в корне
там же filename2.txt:
127.0.0.1 vkontakte.ru
127.0.0.1 odnoklasniki.ru
127.0.0.1 mail.ru

BATCH filename1.txt

Последний раз редактировалось Серафима Аркадьевна, 14-05-2010 в 20:56. Причина: дополнение


Отправлено: 20:54, 14-05-2010 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое, все работает

Осталось забить все блокируемые хосты все будет

Отправлено: 21:35, 14-05-2010 | #4


Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


SibAgent,
А еще можно сделать перенаправление, например, на сайт своей компании, чтобы люди понимали, что надо работать на работе, а не по контактам лазить (если, конечно, это для работы делаешь)

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©


Отправлено: 21:48, 14-05-2010 | #5


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


вот как раз для работы и делаю, а то сидят в рабочее время по социалкам, а как перенаправление сделать?

Отправлено: 22:24, 14-05-2010 | #6


Пользователь


Сообщения: 144
Благодарности: 16

Профиль | Отправить PM | Цитировать


Цитата SibAgent:
а как перенаправление сделать »
У нас организовано при помощи Kerio, но, думаю, можно найти и какое-нибудь бесплатное решение. В принципе, такая защита - удел интернет-шлюза, а не конечной рабочей станции (что касается предприятия).

Отправлено: 22:57, 14-05-2010 | #7


Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


SibAgent,
пропиши вместо 127.0.0.1 айпишник сайта куда перенаправлять надо. Чтобы узнать айпи, набери в консоли ping адрес сайта. Например, ping ya.ru выдаст айпишник 213.180.204.3 и если мы хотим, чтобы при наборе в браузере mail.ru выдавался сайт ya.ru, то в хостс надо добавить 213.180.204.3 mail.ru. Только это можно обойти через прокси или если опера установлена, то просто нажав кнопку опера-турбо.

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©


Отправлено: 23:40, 14-05-2010 | #8


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата seriych:
cacls %hosts% /E /G All:F »
- смысл cacls?.. если прав нет, то расширить их не выйдет, если есть - можно сразу редактировать;
- хорошо бы еще добавить FIND для предотвращения дублей/разрастания файла
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:04, 15-05-2010 | #9


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Цитата amel27:
- смысл cacls?.. если прав нет, то расширить их не выйдет, если есть - можно сразу редактировать;
- хорошо бы еще добавить FIND для предотвращения дублей/разрастания файла »
1. Понял идею при попытке реализовать п.2
2. Вот батник с проверкой на наличие уже существующих записей и с разблокировкой доменов (в текстовике вместо адреса ставится дефис, т.е. например так: "- youtube.com"), но наткнулся на то, что ДОСовские команды при попытке хоть что-либо сделать с "hosts." выдают "Access is denied."

Код: Выделить весь код
@echo off
SetLocal EnableExtensions

set NewHosts=AddHostsProbe.txt

if not "%1"=="" set NewHosts=%1
if not exist %NewHosts% exit 1
set Hosts="%windir%\system32\drivers\etc\hosts"
copy %Hosts% %Hosts%.tmp

call :List %NewHosts%
move /Y %Hosts%.tmp %Hosts%
exit

:List
for /f "usebackq tokens=1,2 eol=#" %%A in ("%~1") do call :Search %%A %%B
exit /b

:Search
set Add=Y
for /f "tokens=1 eol=#" %%C in ('findstr /i /c:"%2" %Hosts%.tmp') do call :Found %1 %2 %%C
if %Add%==Y echo %1	%2>>%Hosts%.tmp
exit /b

:Found
if %1==%3 (set Add=N) else (
findstr /i /v /c:"%2" %Hosts%.tmp >%~dpn0.tmp
del /f %Hosts%.tmp
move /Y %~dpn0.tmp %Hosts%.tmp
if %1==- set Add=N
)
exit /b

Отправлено: 18:11, 18-05-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запись в файл hosts с помощью bat-файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] резервное копирование с помощью bat-файла vagner_HATE Скриптовые языки администрирования Windows 11 23-07-2011 19:50
CMD/BAT - Определить ip адрес с помощью bat файла и при совпадении запустить прогу 4zz Скриптовые языки администрирования Windows 2 03-03-2010 02:58
CMD/BAT - [решено] Как с помощью bat-ника записать названия папок в текстовый файл? Nun-Nun Скриптовые языки администрирования Windows 9 23-02-2010 20:15
[решено] как добавить путь к текущей директории в reg файл из bat файла ? mitiya Автоматическая установка приложений 7 27-03-2008 16:12
[решено] Пропадает запись в HOSTS Citron Microsoft Windows 2000/XP 3 13-05-2006 17:59




 
Переход