Извлечь числовую часть из строки, используя пакетный сценарий - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть имя файла abcd_1234.java.Как я могу извлечь только число и сохранить в переменной с помощью пакетного сценария.Вывод должен быть 1234.

Не существует фиксированной длины строки, если строка testfile_345.java, то выходной результат должен быть 345.

В Unix я нахожу это легко, но вя не получаю правильных команд.Пожалуйста, помогите.

Спасибо.

1 Ответ

0 голосов
/ 28 декабря 2018

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

@Echo off & setlocal EnableDelayedExpansion
for %%A in (*_*.java) do (
    set "fname=%%~nA"
    set "fname=!Fname:_= !"
    for %%B in (!fname!) Do set Number=%%B
    Echo number from %%A is !Number!
)

Пример вывода:

number from abc__def_123.java is 123
number from abc_123.java is 123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...