Помогите разобраться с .cmd файлом
ECHO.>>%WINDIR%\system32\drivers\etc\hosts
эхо с точкой и без пробелов.
SET NEWLINE=^& echo.Все равно результат такой же.
FIND /C /I "rad.msn.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO.127.0.0.1 rad.msn.com>>%WINDIR%\system32\drivers\etc\hosts
две команды последовательно.
ECHO.>>%WINDIR%\system32\drivers\etc\hostsзы
ECHO 127.0.0.1 rad.msn.com>>%WINDIR%\system32\drivers\etc\hosts
1. зачем в начале вообще какойто ньюлайн?
2. зачем столько пробелов после айпи?
Да, пробелы лишноваты. Заменил на табы.
Итого получился скрипт блокирования рекламы в Скайпе. Так что юзайте на здоровье. Благодарю .
SET NEWLINE=^& echo.
FIND /C /I "rad.msn.com" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO.>>%WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^127.0.0.1 rad.msn.com>>%WINDIR%\system32\drivers\etc\hosts
Да, пробелы лишноваты. Заменил на табы.зачем табы? достаточно одного пробела.
ньюлайн не нужен
ECHO 127.0.0.1 rad.msn.com>>%WINDIR%\system32\drivers\etc\hosts
добавит нужную строку.
Для читаемости.
а, вкурил зачем тут ньюлайн. видимо что-то не так сделано.
SET NLM=^
set NL=^^^%NLM%%NLM%^%NLM%%NLM%
ECHO %NL%^127.0.0.1 rad.msn.com>>test.txt
два переноса строки между сетами обязательны.
как это работает - я не знаю.
Оставить комментарий
stm4836248
Есть .cmd файл вот такого содержимого: Проблема в том, что если в конце файла hosts нет пустой строки, то строка текст "127.0.0.1 rad.msn.com" добавляется не в новую строку, а добисывается к последней строки. Вот как это выглядит в итоге:Помогите, плз, сделать переброс на новую строку перед добавлением текста "127.0.0.1 rad.msn.com".