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

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

Ответить
Настройки темы
CMD/BAT - [решено] Скрипт неправильно вносит изменения в hosts

Аватара для BKPB

Старожил


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

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


Этот скрипт вносит изменения в hosts, но не совсем правильно.
Скрипт
@echo off
cd /d "%windir%\system32\drivers"
cd etc

Call :GrantAccess hosts
attrib -R -S -H hosts
echo 127.0.0.1 geekuninstaller.com>>hosts
attrib +R hosts
goto :eof

:GrantAccess
takeown /f "%~1"
echo y|cacls "%~1" /g %username%:f
exit /b

Его результат
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost127.0.0.1 geekuninstaller.com

И поэтому ни чего не блокируется.
Нужно сделать, чтобы он вносил изменения с новой строки, вот так:
Скрытый текст
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 geekuninstaller.com

Отправлено: 18:09, 25-03-2019

 

Ветеран


Contributor


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

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


Если тупо, c минимумом изменений,без анализа наличия добавляемой строки
Код: Выделить весь код
(Echo.&echo 127.0.0.1 geekuninstaller.com)>>hosts

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:40, 25-03-2019 | #2



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

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


Аватара для BKPB

Старожил


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

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


Да сейчас стало с новой строки, но теперь при внесении второго адреса или повторного запуска скрипта, получается пробел.
Скрытый текст
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 geekuninstaller.com

127.0.0.1 geekuninstaller.com

127.0.0.1 geekuninstaller.com

И правильно ли я добавляю второй адрес ?
Скрытый текст
@echo off
cd /d "%windir%\system32\drivers"
cd etc

Call :GrantAccess hosts
attrib -R -S -H hosts
(Echo. &echo 127.0.0.1 geekuninstaller.com)>>hosts
(Echo. &echo 127.0.0.1 live.com)>>hosts
attrib +R hosts
goto :eof

:GrantAccess
takeown /f "%~1"
echo y|cacls "%~1" /g %username%:f
exit /b

Отправлено: 18:52, 25-03-2019 | #3


Ветеран


Contributor


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

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


BKPB, Давайте разберёмся. Почему так получилось?
Цитата BKPB:
# ::1 localhost127.0.0.1 geekuninstaller.com »
Потому, что строка # ::1 localhost127
не оканчивается символами с кодами 0D 0A, которые в обычном текстовом редакторе Вы не видите.
Я сделал очень тупо: я никак не проанализировал, как завершается Ваша последняя строка.
Я добавил Echo.
чтобы организовать эти два символа в конце последней строки.
echo 127.0.0.1 geekuninstaller.com уже запишет в файл строку с этими символами.
Поэтому если добавляете еще одну строку, нет смысла добавлять еще раз эти символы посредством Echo.
Именно это приводит к лишней пустой строке.
(Echo. &echo 127.0.0.1 live.com)>>hosts

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:19, 25-03-2019 | #4


Аватара для BKPB

Старожил


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

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


megaloman, Спасибо.

Не могли бы вы сделать ещё так, что бы при повторном запуске, адреса не дублировались.
То есть, при запуске скрипт проверял бы, если такие адреса уже есть, то пропускал бы их.

Отправлено: 07:28, 26-03-2019 | #5


Ветеран


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

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


Цитата BKPB:
Не могли бы вы сделать ещё так, что бы при повторном запуске, адреса не дублировались. »
Я знал! Я знал!

Отправлено: 07:47, 26-03-2019 | #6


Аватара для BKPB

Старожил


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

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


Iska, что вы имеете ввиду ?
Что чем больше мне помогают, тем больше мне хочется.
Если так, то конечно хочется, что бы всё работало не так сяк, а хорошо.
А просьбы появляются, по тому, что сразу эти проблемы не видны (я ведь не специалист).
И, что бы потом конечным результатом могли пользоваться другие не сталкиваясь с такими проблемами и не создавали лишних тем.

Или я ещё что то делаю не так ?

Последний раз редактировалось BKPB, 26-03-2019 в 08:20.


Отправлено: 08:08, 26-03-2019 | #7


Аватара для yurfed

Ветеран


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

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


Цитата BKPB:
чем больше мне помогают, тем больше мне хочется. »

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 08:36, 26-03-2019 | #8


Аватара для BKPB

Старожил


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

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


Ну вот всех развеселил.

А как же насчёт того, что бы помочь ?

Отправлено: 08:51, 26-03-2019 | #9


Ветеран


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

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


Цитата BKPB:
Iska, что вы имеете ввиду ? »
Вот именно это:
Цитата BKPB:
И, что бы потом конечным результатом могли пользоваться другие не сталкиваясь с такими проблемами и не создавали лишних тем. »
— потому как Вы не первый, не второй, и даже не третий, но со всё тем же самым вопросом и — та-дам — с новой темой. И каждый раз всё развивается по одному и тому же сценарию, начиная с «cmd/bat» и «добавить», плавно переходя к вопросу «новых и пустых строк», и, рано или поздно, но обязательно добираясь до «не дублировались».

Отправлено: 17:41, 26-03-2019 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Перед релизом Windows 10 Microsoft вносит изменения в функции родительского контроля OSZone News Новости и события Microsoft 0 29-06-2015 21:30
Microsoft вносит изменения в механизм получения сборок Windows 10 OSZone News Новости и события Microsoft 0 21-06-2015 10:30
Google вносит изменения в условия пользования сервисами OSZone News Новости информационных технологий 0 16-04-2014 10:30
Microsoft вносит изменения в ценообразование для поддержки универсальных приложений OSZone News Новости и события Microsoft 0 14-04-2014 09:30
[решено] Патчер торрентов (AutoIt некорректно вносит изменения в торрент файлы) vkupriyanov AutoIt 17 20-06-2010 13:58




 
Переход