|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] Нужен .vbs скрипт для внесения изменений в hosts |
|
|
VBS/WSH/JS - [решено] Нужен .vbs скрипт для внесения изменений в hosts
|
Старожил Сообщения: 176 |
Помогите написать .vbs скрипт для внесения изменений в hosts,
желательно чтобы при повторном запуске он проверял, если указанный в нём адрес уже существует, то он бы не прописывал его второй раз, а либо переписывал либо игнорировал. P.S: У меня есть .cmd, но он при каждом запуске добавляет новую строку (сколько раз запустишь столько и строк) |
|
Отправлено: 18:34, 14-06-2017 |
Ветеран Сообщения: 3275
|
Профиль | Отправить PM | Цитировать Цитата BKPB:
|
|
Последний раз редактировалось shisik, 14-06-2017 в 20:23. Отправлено: 19:19, 14-06-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата shisik:
![]() |
|
Отправлено: 21:53, 14-06-2017 | #3 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать Это для внесения изменений:
Скрытый текст
@echo off
cd /d "%windir%\system32\drivers" cd etc Call :GrantAccess hosts attrib -R -S -H hosts echo 127.0.0.1 idb.iobit.com>>hosts attrib +R hosts goto :eof :GrantAccess takeown /f "%~1" echo y|cacls "%~1" /g %username%:f exit /b Это скрипт, чтобы .bat запускался без показа окна: Скрытый текст
et WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "Change.hosts.bat" & Chr(34), 0 Set WshShell = Nothing |
Последний раз редактировалось BKPB, 15-06-2017 в 11:39. Причина: Правка Отправлено: 07:56, 15-06-2017 | #4 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать Нашёл .bat который игнорирует адрес если такой уже внесён.
Скрытый текст
@Echo Off
setlocal EnableDelayedExpansion set sHostFile=%SystemRoot%\System32\drivers\etc\hosts :: добавление записи в hosts call :Install 1111.com :: пишем скрипт отката записи в hosts call :cl 1111.com exit /b :Install set sHost=%~1 if defined sHost ( for /f "usebackq eol=# tokens=1,2" %%i in ("%sHostFile%") do ( if /i "%%j"=="%sHost%" Set flag=1 ) If not defined flag (echo.127.0.0.1 %sHost%>>"%sHostFile%") ) goto :eof :cl ( echo @Echo Off echo setlocal enabledelayedexpansion echo. echo set sHostFile=%%SystemRoot%%\System32\drivers\etc\hosts echo set sHost=%~1 echo. echo for /f "tokens=1* delims=]" %%%%a in ^('find /v /n "" ^^^<"%%sHostFile%%"'^) do ^( echo echo.%%%%b ^| ^>nul find /i "%%sHost%%" ^|^| ^(echo.%%%%b^>^>"%%SystemRoot%%\System32\drivers\etc\temp_host"^) echo ^) echo del /f /q "%%sHostFile%%" echo ren "%%SystemRoot%%\System32\drivers\etc\temp_host" "hosts" echo exit /b )>cl_hosts.cmd goto :eof Но осталось два вопроса: 1. Как исправить этот .bat чтобы он только прописывал адрес, но не создавал файл отката внесённых изменений. 2. Можно ли на его основе создать скрипт |
|
Последний раз редактировалось BKPB, 17-06-2017 в 15:44. Причина: Правка Отправлено: 11:32, 15-06-2017 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата BKPB:
|
|
Отправлено: 13:22, 15-06-2017 | #6 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать Помогите, хотя бы отредактировать .bat чтобы он только прописывал адрес, но не создавал файл отката внесённых изменений.
|
Отправлено: 15:46, 17-06-2017 | #7 |
Старожил Сообщения: 231
|
Профиль | Отправить PM | Цитировать BKPB,
Лень не есть хорошо - ну да ладно - код другой(твой мне не нравится): @ECHO OFF REM Файл для обработки SET "WORK_FILE=%SystemRoot%\System32\drivers\etc\hosts" REM Список блокируемых доменов через запятую SET "BLOCK_DOMAIN=domain1.com,domain2.ru,domain3.net" FOR %%i IN (%BLOCK_DOMAIN%) DO CALL :WORK "%%~i" GOTO :EOF :WORK FINDSTR /B /I /C:"127.0.0.1" "%WORK_FILE%"|FINDSTR /I /C:"%~1"||( ECHO 127.0.0.1 %~1>>"%WORK_FILE%" ) GOTO :EOF |
------- Отправлено: 10:52, 18-06-2017 | #8 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать y--, Спасибо огромное. И отдельное за совет.
Извините, как поставить благодарность не знаю. |
Отправлено: 11:54, 18-06-2017 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата BKPB:
Так:
![]() |
|
Отправлено: 14:59, 18-06-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - нужен vbs скрипт для отпраки файлов на mail | exekill | Скриптовые языки администрирования Windows | 0 | 18-04-2012 16:28 | |
VBS/WSH/JS - Нужен VBS скрипт для поиска файлов по маске и копирование его в определенное место | exekill | Скриптовые языки администрирования Windows | 0 | 17-03-2012 10:46 | |
CMD/BAT - Нужен батник для внесения данных в системный реестр | Nun-Nun | Скриптовые языки администрирования Windows | 2 | 26-09-2010 17:35 | |
Любой язык - [решено] Нужен скрипт cmd,vbs,PowerShell для проверки списка пользователей и их удаление из AD | alex_frog | Скриптовые языки администрирования Windows | 6 | 22-07-2009 18:41 |
|