регулярные выражения в Win XP

Discussion in 'Windows' started by estonec, 18 Apr 2011.

  1. estonec

    estonec New Member

    Joined:
    1 Aug 2010
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Добрый день коллеги!

    Назрела необходимость заменить 1 символ в файле hosts с помощью bat файла. А именно, каким образом можно изменить строку
    10.36.12.100 a.ru
    10.36.12.100 b.ru
    10.36.12.100 c.ru
    на
    10.36.12.200 a.ru
    10.36.12.200 b.ru
    10.36.12.200 c.ru

    Если можно, с примером или ссылкой где подобное описывается.
     
  2. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    может стоит обратится к языкам программирования?
    vbs или perl
     
  3. Hack_ERR++

    Hack_ERR++ Member

    Joined:
    13 Aug 2009
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    В делфи такое делал. Загружаешь в memo содержимое hosts, меняешь, что тебе нужно, и сохраняешь
     
  4. ride

    ride New Member

    Joined:
    18 Apr 2010
    Messages:
    26
    Likes Received:
    4
    Reputations:
    0
    если надо поменять кучу одинаковых ip на другой ip (если я правильно понял кучу 10.36.12.100 на новый 10.36.12.200) то можно через блокнот и Ctrl + H.
     
  5. estonec

    estonec New Member

    Joined:
    1 Aug 2010
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Если интересно, решение оказалось следующее:
    Code:
    @echo off   set "original=10.36.12.100"   set "repl=10.36.12.200"   del /f/q hosts 2>nul   for /f "tokens=*" %%a in (%SystemRoot%\system32\drivers\etc\hosts) do (       set "val=%%a"       call set "val=%%val:%original%=%repl%%%"       call >>hosts echo.%%val%%   )   rem if exist hosts move /y hosts %SystemRoot%\system32\drivers\etc\    
     
    1 person likes this.