Как извлечь часть строки в пакетном файле Windows?

Предположим, что у меня есть значение, такое как "Abc_123", это хранится в переменной в пакете (cmd) файл. Я хочу закончить с переменной, которая содержит только "123". Там какой-либо встроенный путь состоит в том, чтобы сделать это?

Я не ужасно требователен в отношении метода или производительности, пока он встроен к типичному Windows (Vista/2008) система.

25
задан 11.05.2018, 01:44

2 ответа

Используйте синтаксис подстроки:

C:\Users\John>set string=Abc_123

C:\Users\John>echo %string%
Abc_123

C:\Users\John>echo %string:~4,3%
123
36
ответ дан 07.12.2019, 09:38

Если Вы находите, что пакетный язык не достаточно мощен, чтобы сделать то, что Вы хотите - и он, вероятно, не будет брать Вас слишком долго для получения до той точки - можно использовать Windows PowerShell. Это не установлено по умолчанию на всех версиях Windows, но можно загрузить его бесплатно.

Если Вам не нравится язык PowerShell, существует Perl. Необходимо будет установить это во всех системах все же. Также существуют другие.

3
ответ дан 07.12.2019, 09:38

Теги

Похожие вопросы