Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] использовать %ip адрес% вместо %computername%

Ответить
Настройки темы
CMD/BAT - [решено] использовать %ip адрес% вместо %computername%

Новый участник


Сообщения: 7
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: Pinguine
Дата: 24-05-2011
Помогите разобраться
В настоящее время для запуска bat-файлов используется переменная %computername%.
В автозагрузке компьютера прописана команда на запуск \\linux\disk\%computername%\1.bat
В \\linux\disk\ созданы соответственно папки с именами компьютеров. В результате каждый компьютер получает свой bat-файл. Возникла острая необходимость сменить данную переменную на ip адрес. Т.е. чтобы bat-файлы запускались в зависимости от ip адреса компьютера.
Возможно ли такое?

Отправлено: 17:24, 24-05-2011

 


Moderator


Сообщения: 51511
Благодарности: 14768

Профиль | Отправить PM | Цитировать


Pinguine, воспользуйтесь фильтрами по названию темы по ip



Результат

Отправлено: 17:40, 24-05-2011 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 1

Профиль | Отправить PM | Цитировать


Первым делом воспользовался фильтром. К сожалению ответа на свой вопрос не нашел. Так же просматривая темы не получил даже намека на то как решить мой вопрос.

Отправлено: 19:07, 24-05-2011 | #3


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2321

Профиль | Отправить PM | Цитировать


Pinguine, [решено] Как определить IP и записать его в переменную? (OS: Windows Vista)

Отправлено: 20:30, 24-05-2011 | #4


Ветеран


Сообщения: 1637
Благодарности: 906

Профиль | Цитировать


Pinguine,
На сколько я понял вам нужно определить системную или пользовательскую переменную со значением ip локального компьютера? Если ip-адреса в вашей сети не меняются то можно жестко определить данную переменную в каждом компьютере. Т.е. прописать в реестре. Иначе прописывать в автозагрузку батник, который определяет ip и запускает батник из нужной папки. Например так:
Код: Выделить весь код
@echo off
setlocal

:: Можно так

::      for /f "tokens=*" %%i in (' ipconfig ') do (
::
::          for %%j in ( %%i ) do set "ip=%%j"
::
::       )

:: Но, имхо, лучше так:
 
for /f "tokens=*" %%i in (' netsh interface ip show ipaddress ') do (

    for %%j in ( %%i ) do set "ip=%%j"

)

\\linux\disk\%ip%\1.bat

Отправлено: 21:51, 24-05-2011 | #5


Пользователь


Сообщения: 65
Благодарности: 4

Профиль | Отправить PM | Цитировать


to Foreigner,

Код: Выделить весь код
for /f "tokens=*" %%i in (' ipconfig ') do (
::
::          for %%j in ( %%i ) do set "ip=%%j"
::
::       )
ваш батник вытягивает только последнюю строку (ipconfig) т.е. адрес шлюза. А как вытянуть непосредственно IP-адрес . . . . . . . . . . . .???

Отправлено: 13:05, 25-05-2011 | #6


Ветеран


Contributor


Сообщения: 2135
Благодарности: 1310

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
FOR /F "usebackq tokens=2 delims=[]" %%i IN (`ping %Computername% -n 1 -4`) DO if not "%%i"=="" Set ip=%%i
Echo %ip%

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 25-05-2011 в 13:58.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:50, 25-05-2011 | #7


Пользователь


Сообщения: 65
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата megaloman:
"usebackq tokens=2 delims=[]" »
не пойму, к чему это?

Отправлено: 17:56, 25-05-2011 | #8


Пользователь


Сообщения: 65
Благодарности: 4

Профиль | Отправить PM | Цитировать


Понял в чём дело - у меня, почему-то заработало только в таком виде:

Код: Выделить весь код
(`ping.exe %Computername% -n 1`)
т.е. нужно было прописывать как ping.exe - и можно, кстати без "-4" - тоже работает.

Отправлено: 11:39, 26-05-2011 | #9


Ветеран


Contributor


Сообщения: 2135
Благодарности: 1310

Профиль | Отправить PM | Цитировать


Цитата:
и можно, кстати без "-4" - тоже работает
- и слава богу, но, например, в Windows 7 вид IP будет иным. -4 отвечает за принудительное использование протокола IPv4. В Win xp этот ключ не мешает. Ping.exe наверное понадобился, потому что с этим именем Ping существуют и другие исполнимые файлы, которые система обнаруживает ранее, например, ping.bat. Раз такое дело, я бы вообще посоветовал указать полное имя.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:10, 26-05-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] использовать %ip адрес% вместо %computername%

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Proxy/NAT - [решено] Подменить свой ip адрес на другой ip адрес (выдать свою организацию за другую) masyaka Сетевые технологии 5 25-03-2011 08:42
HTC будет использовать Super LCD вместо AMOLED OSZone News Новости информационных технологий 0 27-07-2010 17:30
[решено] Как получить IP-адрес, зная адрес сайта malev AutoIt 2 09-02-2010 20:04
Разное - Можно использовать фотоаппарат вместо WEB-камеры? Codru Прочее железо 8 15-03-2009 22:10
ip-адрес => физический адрес.. Ares2005 Хочу все знать 6 26-12-2006 11:47




 
Переход