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

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

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

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


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

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


Здравствуйте еще раз, если не надоел!
Код: Выделить весь код
set a=123456789
echo %a:~1,-1%
Выдаст результат 23456789, т.е обрежет символы по краям. Мне необходимо обрезать крайние символы (пробел вначале и какой то непечатный символ в конце) у IP адреса. Что то вроде
Код: Выделить весь код
for /f "tokens=2 delims=:" %a in ('ipconfig ^| find "IP"') do echo %a:~1,-1
Но так не работает. Можно ли реализовать подобное не используя set?

Отправлено: 19:14, 20-06-2017

 

Ветеран


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

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


Тут есть вопросы — какой именно IP Вам нужен:
  1. IP4 или IP6?
  2. когда их несколько?

Отправлено: 19:29, 20-06-2017 | #2



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

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


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


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

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


Хм, озадачили. Ну предположим адрес только один - IP4

Отправлено: 19:43, 20-06-2017 | #3


Забанен


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

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


Да извлеките же вы IP-адрес из реестра и не парьтесь с работой раввина, ну а если пренципиально, то посимвольно пробегитесь по строке и извлеките подстроку. Пара примеров (выделено по той причине, что некоторые подменяют понятие примера боевым решением) получения IP:
Код: Выделить весь код
@echo off
  setlocal
    for /f "tokens=2 delims=:" %%i in (
      'ipconfig /all ^| findstr /irc:"ip.*: [0-9\.]"'
    ) do set "ip=%%i"
    echo:%ip: =%
  endlocal
exit /b
и
Код: Выделить весь код
@echo off
  setlocal
    set "key=HKLM\SYSTEM\CurrentControlSet\Services"
    set "key=%key%\Tcpip\Parameters\Interfaces"
    for /f "tokens=3" %%i in (
      'reg query "%key%" /s ^| findstr /irc:"dhcpipaddress"'
    ) do echo %%i
  endlocal
exit /b

Последний раз редактировалось greg zakharov, 20-06-2017 в 20:43.


Отправлено: 20:21, 20-06-2017 | #4


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


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

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


greg zakharov, Спасибо за примеры. Меня интересовало немного другое, можно ли обрабатывать переменную внутри цикла for не прибегая к использованию дополнительных переменных, т. е. не используя set. Например типа такого: %a:~1,-1. Вдруг можно, а я об этом не знаю.

Отправлено: 22:42, 20-06-2017 | #5


Забанен


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

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


Без set - никак; максимум к переменной можно применить модификаторы пути, например, %~na или %~da. Для манипуляций, каковой, скажем, является та же обрезка, над переменной в цикле без set не обойтись.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:31, 20-06-2017 | #6


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


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

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


ок, спасибо!

Отправлено: 00:30, 21-06-2017 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Обрезка видео RioR Видео и аудио: обработка и кодирование 1 28-03-2016 03:53
HDD - Обрезка диска dimakolyada Накопители (SSD, HDD, USB Flash) 1 04-05-2015 12:26
VBS/WSH/JS - [решено] Поиск подстроки в файле с последующей заменой подстроки (многопользовательский досту) pogo Скриптовые языки администрирования Windows 12 06-12-2013 17:59
7 / 2008 R2 - Создание обрезка 7-ки Willart Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 6 22-09-2012 21:07
Обрезка AVI Евгешка Видео и аудио: обработка и кодирование 5 31-03-2008 20:37




 
Переход