help, аналог grep в винде

Discussion in 'Безопасность и Анонимность' started by Elekt, 12 Apr 2007.

  1. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    собственно, ситуация такая:

    есть локальная сеть с подсетями

    есть роутер, чтоб связь была и не глючила

    пользователи один раз запукают routing.bat c содержимым:

    route add 192.168.0.0 mask 255.255.0.0 servername -p

    и до перестановки винды живут счастливо...



    Проблема:

    Теперь требутся, чтобы пользователь, находящийся в первой подсети прописал у себя только

    route add 192.168.0.0 mask 255.255.0.0 192.168.1.1 -p

    во второй только:

    route add 192.168.0.0 mask 255.255.0.0 192.168.2.1 -p

    в третьей только:

    route add 192.168.0.0 mask 255.255.0.0 192.168.3.1 -p

    и так далее.

    Требуется написать бат скриптик, который бы определял текущую подсеть юзверя и выдавал ему соответствующую подсеть роутинга.

    тоесть нужно каким то макаром выдрать подсеть через ipconfig или net и исходя из этого производить верную прописку.

    как это сделать в виндовой консоли - я теряюсь.
    с меня плюсы.
     
  2. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    нашел непосредственно только аналог grep - findstr.exe, лежит в system32. дальше думать лень =(
     
    1 person likes this.
  3. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    решение, мягко говоря через жопу, не проще ли один раз настроить? или всем обьяснить чтоб руками сделали?

    я вижу только 2 варианта, и то, требующее доработки, первый что-то типа

    в итоге получаем список ключей, отвечающих за настройку сети, вот только как выдрать отдельный я не знаю.

    Или как уже рекомендовали
    в обоих случаях айпишник надо каким-то образом еще выдрать
     
    #3 Thanat0z, 12 Apr 2007
    Last edited: 12 Apr 2007
    1 person likes this.
  4. andy13

    andy13 Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    100
    Likes Received:
    15
    Reputations:
    3
    есть порт grep под windows.
    скачать можно тут:
    http://www.weihenstephan.de/~syring/win32/

    зы плюсы мне не нужны!
     
  5. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    дело в том, как я понял, что ему нужно сделать стандартными средствами. Мне допустим всегда пофиг, мне легче поставить Цигвин и не мучаться, а тут видимо поставить на десяток или сотни машинок греп проблематично
     
  6. flipper

    flipper Elder - Старейшина

    Joined:
    5 Sep 2006
    Messages:
    131
    Likes Received:
    85
    Reputations:
    29
    Наверно что то вроде этого:
    Code:
    [COLOR=White]echo off
    ipconfig >22.txt
    for /F "skip=9 tokens=2* usebackq delims=:" %%i IN (22.txt) DO set IP=%%i
    route add 192.168.0.0 mask 255.255.0.0 %IP% -p
    echo %IP%
    [/COLOR]
     
    3 people like this.
  7. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    о, да!

    Code:
    echo off
    ipconfig | findstr "192.168.*.1" > ipconfig.txt
    for /F "skip=2 tokens=2* delims=:" %%i IN (ipconfig.txt) DO set IP=%%i
    route add 192.168.0.0 mask 255.255.0.0 %IP% -p
    echo %IP%
    всем спасибо! =)

    +++++++++++
     
  8. flipper

    flipper Elder - Старейшина

    Joined:
    5 Sep 2006
    Messages:
    131
    Likes Received:
    85
    Reputations:
    29
    еще навено полезнее будет
    echo %IP%
    заменить на: del ipconfig.txt
     
  9. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    show-ip-reg.bat
    Code:
    @echo off
    for /f "usebackq tokens=1-3" %%A in (`"reg query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{[color=green]KEY[/color]} /v dhcpdefaultgateway|findstr /i dhcpdefaultgateway"`) do (for /f "usebackq delims=\ tokens=1-3" %%F in ('%%C') do (echo %%F))
    
     
    1 person likes this.