[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
Батник полезен тогда, когда нужно добавить всего несколько строк в hosts – не открывая его !
Зная точно, что строчки просто допишутся к уже имеющимся.
•Где это удобно - У многих современных программ, ну скажем не очень легкие методы активации, и все чаще сталкиваешься с тем, что кроме “привычных” методов активации приходится еще и блокировать программе доступ к свой страничке, через блокировку сайта разработчика, прописав его (сайт) в hosts.
То есть, тогда когда у тебя открыто несколько окон в которых ты прописываешь, копируешь/вставляешь разные ключиги из кейгенов, и тебе не удобно еще и открывать ком строку от администратора, открывать файл hosts и так далее… ради таго, чтобы внести всего пару строк...
Тогда как можно заполнить один раз батник, кинуть его в папку с программой и носить с собой долгие годы, потому как адреса офсайтов, не меняются годами...
•Как это работает – Или как прописать в батник нужный нам адрес.
Благодаря автору батника, я бы сказал, мастеру своего дела Nikzzzz – Сделать это не трудно.
•Что для этого нужно, собственно адрес, доступ к которому нужно заблокировать, один из батников.
По моей просьбе, автор Nikzzzz написал батник, так, чтобы было Удобно прописывает строчки, деля их по каталогом, названия которым можно задавать самому, как на русском, так и на английском языках.
Если название каталога состоит из одного слова, или из нескольких но слитных, то оно просто прописывается перед блокируемым адресом (Skype).
call :add_to_hosts Skype rad.msn.com
Если в названии два и более слов, то они заключаются в ковычки.
call :add_to_hosts "ImTOO и Xilisoft" www.xilisoft.com
•Также в батнике прописано добавление пустой строчки до, и после добавляемого адреса или каталога. Проблема в том, что не все умеют правильно редактировать файл – hosts, оставляя после себя “обрубки” не правильно прописанные адреса и т.д, а нам надо быть уверенным, в том, что наши прописанные строчки не прилепятся не известно к чему …
Потому как наша цель прописать адрес не заглядывая в сам файл hosts !
•В процессе верстания, батников стало два (один вышел из другого) но я решил оставить оба.
Файл “Hosts Block.bat” – Добавляет адрес в файл hosts, но если он там уже присутствует и закомментирован, то адрес НЕ добавится !
Файл “ Hosts Block [+Block].bat” – Добавит адрес принудительно, даже если он присутствует и закомментирован (то что нам нужно).
•Скрипт, так же обходит такую проблему как, атрибут “только чтение” или системные ограничения, из за чего приходится копировать файл hosts на.пр на раб.стол, и потом возвращать обратно, для того чтобы внести в него изменения…
.Батники запускать – От имени администратора !

Hosts Block

@echo off
set HOSTS=%SystemRoot%\system32\drivers\etc\hosts
set REDIRECT=0.0.0.0
attrib -r -h -s "%HOSTS%"
>>"%HOSTS%" echo.
call :add_to_hosts Skype rad.msn.com
call :add_to_hosts Skype adriver.ru
call :add_to_hosts Skype api.skype.com
call :add_to_hosts Skype static.skypeassets.com
call :add_to_hosts Skype apps.skype.com
call :add_to_hosts Cyberlink cap.cyberlink.com.
call :add_to_hosts Cyberlink activation.cyberlink.com
call :add_to_hosts Cyberlink www.cyberlink.com
call :add_to_hosts "ImTOO и Xilisoft" www.xilisoft.com
call :add_to_hosts "ImTOO и Xilisoft" online.xilisoft.com
call :add_to_hosts "ImTOO и Xilisoft" cms.olym.xilisoft.net
attrib +r "%HOSTS%"
goto :eof
:add_to_hosts
>nul find.exe /i "%~2" "%HOSTS%" && goto :eof
>nul find.exe /i "# %~1:" "%HOSTS%" || (
  >>"%HOSTS%" echo.
  >>"%HOSTS%" echo.# %~1:
)
>>"%HOSTS%" echo.%REDIRECT% %~2
goto :eof

Hosts Block (+Block)

@echo off
set HOSTS=%SystemRoot%\system32\drivers\etc\hosts
set REDIRECT=0.0.0.0
attrib -r -h -s "%HOSTS%"
>>"%HOSTS%" echo.
call :add_to_hosts Skype rad.msn.com
call :add_to_hosts Skype adriver.ru
call :add_to_hosts Skype api.skype.com
call :add_to_hosts Skype static.skypeassets.com
call :add_to_hosts Skype apps.skype.com
call :add_to_hosts Cyberlink cap.cyberlink.com.
call :add_to_hosts Cyberlink activation.cyberlink.com
call :add_to_hosts Cyberlink www.cyberlink.com
call :add_to_hosts "ImTOO и Xilisoft" www.xilisoft.com
call :add_to_hosts "ImTOO и Xilisoft" online.xilisoft.com
call :add_to_hosts "ImTOO и Xilisoft" cms.olym.xilisoft.net
attrib +r "%HOSTS%"
goto :eof
:add_to_hosts
findstr.exe /b /v /c:"#" "%HOSTS%" | find.exe /i "%~2" >nul && goto :eof
>nul find.exe /i "# %~1:" "%HOSTS%" || (
  >>"%HOSTS%" echo.
  >>"%HOSTS%" echo.# %~1:
)
>>"%HOSTS%" echo.%REDIRECT% %~2
goto :eof
Батники написаны уважаемым всеми нами Автором Nikzzzz – За что ему Спасибо !!! aa fr


Последний раз редактировалось: SV-2k10 (2018-12-01 20:43), всего редактировалось 4 раз(а)

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
Хотел залить готовые файлы на сервер нашего сайта, но не нашёл как.

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет 2 месяца
  • Сообщений: 562
  • Репутация:65

    [+] [-]
59306Хотел залить готовые файлы на сервер нашего сайта, но не нашёл как.
Да скопировать в текстовик и сохранить с расширением bat или cmd не сложно думаю спасибо обоим и тебе и Nikzzzz

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
KottoSOFT, Тебе спасибо ! – Уж сколько ты работы делаешь … aa
Просто, все началось с того, что на днях устанавливал программу с очень намудренной активацией, и таки прошляпил прописать адрес, и вся работа псу под хвост… пришлось все сносить, чистить реестр … а был бы такой батник под рукой, жмякнул раз, и забыл… и не надо ещё куда-то лазить, что-то копировать, вставлять, проверять …

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Немного поправил скрипт, добавил снятие атрибута только чтение.

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет 2 месяца
  • Сообщений: 562
  • Репутация:65

    [+] [-]
SV-2k10,
Как говорил классик
О сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, БОГ изобретатель.
Учимся методом профессора Тыка, сколько сборок я сам на корню удалял, если при тесте видел, что то не так пошло.

[Цитировать]

    SV-2k10
  • 437
  • Стаж: 9 лет
  • Сообщений: 266
  • Репутация:21

    [+] [-]
59311Немного поправил скрипт, добавил снятие атрибута только чтение.
nikzzzz, Это то, что нужно !
Добавил в шапку ...


Последний раз редактировалось: SV-2k10 (2018-11-17 15:32), всего редактировалось 1 раз

[Цитировать]

    Albert
  • 1131
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 160
  • Репутация:12

    [+] [-]
Батник полезный. Мой обычный сценарий:
*запускаем cmd от Администратора
*выбираем C:\Windows\System32\drivers\etc> и вводим
notepad hosts
*в файл hosts вводим нужный текст и сохраняем изменение.
Хотелось сделать батник, чтобы добавлял строки в файл host из текстового файла, но...

[Цитировать]

    wadimus
  • 14910
  • Стаж: 7 лет 4 месяца
  • Сообщений: 762
  • Репутация:91

    [+] [-]
59314Хотелось сделать батник, чтобы добавлял строки в файл host из текстового файла, но...
хорошая хотелка :)

батник читает строки из рядом лежащего файла host.txt и заносит их в файл host

@echo off
SetLocal EnableExtensions EnableDelayedExpansion
CD /d "%~dp0"
:: проверяем наличие файла host.txt
if not exist "%~dp0host.txt" exit/b
set HOSTS=%SystemRoot%\system32\drivers\etc\hosts
set REDIRECT=0.0.0.0
attrib -r -h -s "%HOSTS%"
:: содержимое файла host.txt такое:
:: Skype rad.msn.com
:: ImTOO_Xilisoft www.xilisoft.com
:: тег - пробел
:: построчно читаем из файла host.txt строки
:: и передаем эти строки в подпрограмму
<"%~dp0host.txt" (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do (set "s%%a=%%b" & call :add_to_hosts "%%b"))
attrib +r "%HOSTS%"
exit/b
:: подпрограмма
:: получает строку из аргумента ~1
:: из этой строки выделяем две переменные
:: 1-ая - имя
:: 2-ая - тернет адрес
:: тег (символ раздела переменных) - пробел
:: поэтому такая строка ошибочная:
:: "ImTOO и Xilisoft" www.xilisoft.com
:: делайте так:
:: ImTOO_Xilisoft online.xilisoft.com
:add_to_hosts
FOR /F "tokens=1,2 delims= " %%i in ("%~1") do (set "name=%%i" & set "adress=%%j")
>nul find.exe /i "!adress!" "%HOSTS%" && exit/b
>nul find.exe /i "# !name!:" "%HOSTS%" || (
  >>"%HOSTS%" echo.
  >>"%HOSTS%" echo.# !name!:
)
>>"%HOSTS%" echo.%REDIRECT% !adress!
exit/b
рядом с батником ложим файл host.txt

host.txt

Skype rad.msn.com
Skype adriver.ru
Skype api.skype.com
Skype static.skypeassets.com
Skype apps.skype.com
Cyberlink cap.cyberlink.com
Cyberlink activation.cyberlink.com
Cyberlink www.cyberlink.com
ImTOO_Xilisoft www.xilisoft.com
ImTOO_Xilisoft online.xilisoft.com
ImTOO_Xilisoft cms.olym.xilisoft.net

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
wadimus,
а если уже были такие строки, они удвоятся или есть пересортировка и удаление дубликатов?

[Цитировать]

    wadimus
  • 14910
  • Стаж: 7 лет 4 месяца
  • Сообщений: 762
  • Репутация:91

    [+] [-]
gera_serg, батники не мои ..
Батники написаны уважаемым всеми нами Автором Nikzzzz – За что ему Спасибо !!!
просто приделал к ним .. третью ногу, для ползания по стенам af
если в файле уже были строки - то они не добавляются (сначала идет поиск адресов, если их нет - тогда они добавляются, и добавление идет с конца файла, строки дописываются!)
пересортировки нет.

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 8 лет 8 месяцев
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
У нас в офисе стоит корпоративный KES11
Отключил на час, подменил батником хост (чтоб поменьше лазили "в контакте" и подобным), включил касперского, доступ к сайтам из списка стал недоступен...
Через какое-то время Каспер снес новый файл в карантин, и поставил пустой host
сцука af


Показать сообщения:    

Текущее время: 29-Мар 00:50

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы