Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


El Sanchez, мне кажется, тут есть подводный камень: добавляемая строка теоретически может уже присутствовать в виде подстроки в файле. Я бы сделал полный разбор (благо структура проста донельзя), например:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sHostFile=%SystemRoot%\System32\drivers\etc\hosts
set sHost=%~1


if defined sHost (
    for /f "usebackq eol=# tokens=1,2" %%i in ("%sHostFile%") do (
        if /i "%%j" equ "%sHost%" (
            set /a bFound = 1
            set sAddress=%%i
        )
    )
    
    if defined bFound (
        echo.Host [%sHost%] ^(!sAddress!^) already present in [%sHostFile%]
    ) else (
        echo.Add host [%sHost%] ^(127.0.0.1^) into [%sHostFile%]
        echo.127.0.0.1    %sHost%>>"%sHostFile%"
    )
) else (
    echo.Usage: "%~nx0" ^<hostname^>
)

endlocal
exit /b 0
Примеры вызовов:
Код: Выделить весь код
Add2Hosts.cmd www.xxx.com
Add2Hosts.cmd xxx.com
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:59, 14-11-2010 | #5