Цитата Debugger:
Батник получился довольно громоздким, все думаю как бы его уменьшить (просто из спортивного интереса) »
|
1. В общем и целом — имеет смысл для повторяющегося текста использовать переменные. Скажем, у Вас многократно идёт текст «Подключение по локальной сети», идентифицирующий подключение. Может быть, стоит даже захватить чуть больше — вместе с «name=…».
Т.е., что-то наподобие:
Код:

set sName=name="Подключение по локальной сети"
…
echo set address %sName% source=static addr=192.168.9.192 mask=255.255.252.0 >> c:\ipconfig
echo set address %sName% gateway=192.168.10.199 gwmetric=0 >> c:\ipconfig
echo set dns %sName% source=static addr=192.168.10.5 register=PRIMARY >> c:\ipconfig
То же относится и к имени файла, куда мы выводим — лучше его один раз определить через переменную, затем использовать эту переменную в коде (см. также п.2).
2. Чтобы не писать в каждой команде перенаправление вывода — можно оформить их операторными скобками, за/перед которыми уже и использовать перенаправление. Наподобие:
Код:

set sFileOut=c:\ipconfig.txt
set sName=name="Подключение по локальной сети"
…
…
>"%sFileOut%" (
echo pushd interface ip
echo set address %sName% source=static addr=192.168.9.192 mask=255.255.252.0
echo set address %sName% gateway=192.168.10.199 gwmetric=0
echo set dns %sName% source=static addr=192.168.10.5 register=PRIMARY
echo add dns %sName% addr=192.168.10.171 index=2
echo set wins %sName% source=static addr=none
echo popd
)
netsh exec "%sFileOut%"
del /q "%sFileOut%"
…
…
Как Вы поняли — это всё «косметика».