Jump to content

батничк


Dr.Glюk
 Share

Recommended Posts

есть у мя 2-а батника один меняет настройки протокола TCP/IP (адреса, основного шлюза, службы DNS). вот:

@netsh interface ip set address name="My_Gljuk_LAN" static 80.168.217.33 255.255.255.0 180.168.217.1 1@netsh interface ip set dns name="My_Gljuk_LAN" static 80.168.217.1@pause

2-й:

@netsh interface ip set address name="My_Gljuk_LAN" dhcp@netsh interface ip set dns name="My_Gljuk_LAN" source=dhcp@pause

вопрос:

можно ли это чудо обьеденить в один батник при помощи "if", чтоб если использовалась одна конфигурация, то менялось на другую и наоборот?

буду очень презнательный за ответ.

Link to comment
Share on other sites

Dr.Glюk: поверь работает с разными профилями, сначала проверяю, а уж потом даю.... хотя бывают ошибки... в области "мы друг друга не поняли" :no:

Link to comment
Share on other sites

Можно, например через переменную %USERPROFILE%

%USERPROFILE% - Возвращает размещение профиля для текущего пользователя

а можно по подробней о этой переменной, что конкретно она возращает и как ей пользоватся, желательно пример..

Link to comment
Share on other sites

обычный if как всегда + можно задать сценарий входа, все эти переменные есть в реестре

1. Встроенные системные переменные

2. Системные переменные куста HKEY_LOCAL_MACHINE

3. Локальные переменные куста HKEY_CURRENT_USER

4. Все переменные среды и пути указаны в файле Autoexec.bat.

5. Все переменные среды и пути указаны в сценарии входа в систему (если он имеется).

6. Переменные, используемые интерактивно в сценарии или пакетном файле

об операторе IF

Link to comment
Share on other sites

Я конечно извиняюсь, но можно примерчик, а то я с батниками пытаюсь подружиться несколько дней и до это я не писал батники, я нашел где в реестре айпишник сидит..

Еще у мя вопрос как организовывается вот это имя ключа:

{4F74CBAD-BBD2-4A57-92CC-23E811AC693B}

Link to comment
Share on other sites

Так по простому.

Для каждого профиля создаёшь переменную, с одинаковым именем, но с разным значением и дальше через IF обрабатываешь.... сейчас напишу пример, просто у меня один профиль :)

Link to comment
Share on other sites

Для каждого профиля создаёшь переменную, с одинаковым именем, но с разным значением и дальше через IF обрабатываешь....

Интересно, я б на сях так не написал бы, хотя был вариант написать прогу, но это не очень подходит в данной ситуации)))

Ок, жду.. :)

сорри, за ламерский вопрос, но я не найду кнопочку, чтоб отредактировать 9-й топ..

ыыы

Link to comment
Share on other sites

Dr.Glюk: Сорри за путаницу, просто давно не писал пакетники :)

@echo off:: Текущая конфигурацияset Pro="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\IDConfigDB\Hardware Profiles\0001":: Первая конфигурацияset Pro1="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\IDConfigDB\Hardware Profiles\0001"reg compare %pro% %pro1%if errorlevel 1 goto two:onerem Block processing the first configurationgoto end:twoif not errorlevel 2 goto errrem Block processing second configuration:endRem Done!goto out:errRem Error registry or batch filepause:out@echo on
Link to comment
Share on other sites

мдя...долго смотрел на это дело и пытался понять: для чего эти костыли и что они собственно делают :g: ... но потом прекратил это бесполезное занятие.

Dr.Glюk:

вопрос:

можно ли это чудо обьеденить в один батник при помощи "if", чтоб если использовалась одна конфигурация, то менялось на другую и наоборот?

буду очень презнательный за ответ.

все это делается намного проще, раз уж используешь netsh то логично им же и проверять текущее состояние

@echo offnetsh interface ip show config "My_Gljuk_LAN" | find /i "Нет" >>nullrem проверяем включен или нет DHCPif %errorlevel% == 1 (goto 1d) else (goto 2d):1drem DHCP включен,  меняем на статику@netsh interface ip set address name="My_Gljuk_LAN" static 80.168.217.33 255.255.255.0 180.168.217.1 1@netsh interface ip set dns name="My_Gljuk_LAN" static 80.168.217.1goto EOF:2drem DHCP выключен, включаем заново@netsh interface ip set address name="My_Gljuk_LAN" dhcp@netsh interface ip set dns name="My_Gljuk_LAN" source=dhcpgoto EOF:EOF

вот и все.

З.Ы. на будущее - для обсуждения бат-файлов есть отдельная тема в Программировании

Link to comment
Share on other sites

Maikll:

мдя...долго смотрел на это дело и пытался понять: для чего эти костыли и что они собственно делают
да, твой метод решения задачи более верный, тк ты исходил из того что используется netsh, ну а я писал общий вариант, те когда используются два и более (программа сец. так написанна) конфиг. оборудования - вот и вся разница. :g:

Dr.Glюk: на вопрос о ключах (создание и организация) отвечаю в топике по BAT-файлам "Управление из командной строки, и всё что с этим связано! (*.bat, и т.п)". И если тебя интересует написание BAT-программ, то советую прочитать весь топик.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...