|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрипт неправильно вносит изменения в hosts |
|
CMD/BAT - [решено] Скрипт неправильно вносит изменения в hosts
|
Старожил Сообщения: 176 |
Профиль | Отправить 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 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать BKPB, Подозреваю, что эта тема решалась на портале сто раз. Изначально подозревал, что малыми правками дело не ограничится.
Вот мой вариант. От Вашего взял два аттриба. Вставить можно много строк. Скрипт изведёт дублирующиеся строки, если они есть и не комментарии. Увы, съест пустые строки. Возможно, скрипт заткнётся, если встретятся по тексту спецсимволы.
Процедуру :GrantAccess и её вызов Call :GrantAccess hosts вставьте самостоятельно @Echo Off cls Set "File=hosts." Set "Folder=%windir%\system32\drivers\etc" Pushd "%Folder%"||(Pause &Exit /B 2) Set "@Add001=127.0.0.1 geekuninstaller.com" Set "@Add002=127.0.0.1 live.com" Set "@Add003=127.0.0.1 "тра ля ля live.com"" Attrib -R -S -H "%File%" Set /A NOld=1000 FOR /F "usebackq delims=" %%s IN ("%File%") DO (Set /A NOld+=1 &Call Set "@Old%%NOld%%=%%s") FOR /F "usebackq tokens=1* delims==" %%i IN (`2^>nul Set "@Add"`) DO (Set /A NOld+=1 &Call Set "@Old%%NOld%%=%%j") FOR /F "usebackq tokens=1* delims==" %%i IN (`2^>nul Set "@Old"`) DO (Set "SS=%%j" &Call Set "@%%i=%%SS: =%%") >"%File%" (FOR /L %%i IN (1001,1,%NOld%) DO Call :Anal %%i) attrib +R "%File%" Popd GoTo :Eof :Anal Call Set "A=%%@@Old%1%%" If /I "%A%"=="" Exit /B 1 If "%A:~0,1%"=="#" (Call Echo %%@Old%1%%&Exit /B 0) (Call Echo %%@Old%1%%) FOR /F "usebackq tokens=1* delims==" %%i IN (`2^>nul Set "@@Old"`) DO If /I "%%j"=="%A%" Call Set "%%i=" Exit /B 0 |
------- Отправлено: 19:52, 26-03-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать megaloman, спасибо, но я ничего в этом не понимаю.
Что это, для чего и как вставить: Цитата BKPB:
|
|
Последний раз редактировалось BKPB, 27-03-2019 в 12:42. Отправлено: 12:24, 27-03-2019 | #12 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать В итоге получилось.
Скрипт: 1. снимает защиту 2. вносит изменения 3. возвращает защиту 4. не дублирует адреса 5. вносит адрес как положено с новой строки P.S Ошибок никаких не заметил. Меня полностью устраивает, то чего и хотел. Спасибо megaloman. |
Отправлено: 13:17, 27-03-2019 | #13 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Перед релизом 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 |
|