собственно, ситуация такая: есть локальная сеть с подсетями есть роутер, чтоб связь была и не глючила пользователи один раз запукают 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 варианта, и то, требующее доработки, первый что-то типа в итоге получаем список ключей, отвечающих за настройку сети, вот только как выдрать отдельный я не знаю. Или как уже рекомендовали в обоих случаях айпишник надо каким-то образом еще выдрать
есть порт grep под windows. скачать можно тут: http://www.weihenstephan.de/~syring/win32/ зы плюсы мне не нужны!
дело в том, как я понял, что ему нужно сделать стандартными средствами. Мне допустим всегда пофиг, мне легче поставить Цигвин и не мучаться, а тут видимо поставить на десяток или сотни машинок греп проблематично
Наверно что то вроде этого: 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]
о, да! 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% всем спасибо! =) +++++++++++
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))