![]() |
как загнать в переменную ip арес компа ?
мне нужна переменная с ip компа на катором запущен bat файл для подстановки его в команды .
|
А если их два? :]
См. в сторону ipconfig, наверное +for /F +find о, нашёл :] Код:
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG ^| FIND "IP Address"') DO FOR %%B IN (%%A) DO SET IPADDRESS=%%B |
поидея переменная должна появиться в списке переменных (покрайней мере на период сесси),но не появляется.
Честно говаря я не очень понимаю принцип и синтаксис присвоения переменных. Буду очень благодарен если поесните. |
Появится, если её проэкспортировать. В *nix это setenv (export). В windows сделали утилиту-аналог. Сейчас...... О вот,
http://oszone.net/display.php?id=3673 Но зачем? Вы выполняете приведённую выше строчку внутри Вашего батника (того, "которому нужно IP") - и всё, у Вас в течении его работы будет переменная IPADDRESS с ипишником. |
вот батни (тестовый)
Код:
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG ^| FIND "IP Address"') DO FOR %%B IN (%%A) DO SET myip=%%B Код:
дак вот в списке переменных должна бы появиться переменная myip (на время работы батника),а ее нет да и может всеж поясните каким образом происходит присвоение переменной. и еще вопросик как в батнике открыть файл в определенном приложении ? к примеру start **.txt чтоб он открылся не в блокноте ,а том в чем я укажу ? |
Код:
@echo off 1) зарегистрируйте свою "программу на открытие *.txt" или 2) запускайте не start **.txt, а чегототам **.txt P.S. Кстати, у меня выдаёт неверный IP (у меня их два). Как я и говорил. |
да у меня тоже выдает тот каторый присваевается мне при поключении к инету по модему,а мне нужет тот каторый на сетевухе (в любом случае)
|
mitiya
8-) чего делать будем? |
надо как-то получить ip от "Подключение по локальной сети"
обьясни мне смысл всех этих надписей в коде . Какой механизм ? как он там воще ip ищет ? и может лучше поискать в netsh ? |
А что если так?
Код:
@echo off Мы вроде как это и делаем >> обьясни мне смысл всех этих надписей в коде . Какой механизм ? как он там воще ip ищет ? Нет, вот всё-таки давайте Вы сами разберитесь, ладно? >> и может лучше поискать в netsh ? Я не знаю, что это такое. |
работает.
netsh - это что-то вроде консольного итерфейса через который можно назначать ip ,dns, щлюз и бог знает что еще Код:
netsh interface ip set address name="Подключение по локальной сети" static 172.18.0.53 255.255.255.0 |
mitiya
Да, спасибо за инфу, много интересного нашёл, совершенно неожиданно. Век живи - век учись. |
Изменение переменных среды и добавление собственных переменных
Остается только определить ее батником, это вроде уже сделал hasherfrog. |
Vadikan
я знаю как назночать переменные в простом случае " set x=y " а вот как происходит процес в этом случае ? Код:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i: %%i - что это ? и тд |
mitiya
Я же не просто так дал ссылку на статью, а чтобы не повторяться почему переменные, заданные командой set, действуют лишь в течении сессии пакетного файла. Прочтите тогда статью с самого начала, сразу все прояснится. Что же касается принципов работы данного кода, то это уже обсуждалось, причем в АУ :) http://forum.oszone.net/showthread.php?t=46182 |
мне собственно достаточно и переменной только на время сессии батника.
Спасибо за ссылку теперь многое стало понятно. Но что озночает %%i я так и не понял :stink: и уж тем болие что написано в этой строке : "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG ^| FIND "IP Address"') TOKENS - ? DELIMS - ? ^| - ? и тд :wacko: |
Откройте cmd
Скажите help for Всё написано Ньюансы: 1) | - перенаправление выходного потока одной команды во входной другой. См. также про > < >>. Финт ^| используется для задания конвейера внутри (' ') 2) ' ' - способ вызова команды, когда её выходной поток должен быть использован в качестве файла (всё того же входного потока) для другой команды. Используется в батниках. Совсем подробную информацию ищите в инете. Всё описано очень подробно. Осталось добавить, что в виндоуз немного более скудный рацион команд по перенаправлению потоков (сейчас ещё ничего, раньше было совсем тухло) по сравнению с *nix. |
Честно говаря нефига не понял.
А хелп я читал тоже не очень понял дальше приметивных случаев. Мне бы на пальцах , на пимерах с поеснением :) |
Не, mitiya, честно, в одну тему это не влезет.
|
:sorry:
|
Время: 04:55. |
Время: 04:55.
© OSzone.net 2001-