У меня есть несколько случаев, когда строка может принимать разные значения:
foto_20180601_1.jpg
foto_20180601_10.jpg
foto_20180601_100.jpg
foto_20180601_1000.jpg
Если я хочу получить последнюю цифру в этих строках (1, 10, 100, 1000
), я могу сделать:
set var=%string:~14% (returns 1.jpg | 10.jpg | 100.jpg | 1000.jpg)
set mystring=%var:.jpg=% (removes '.jpg' and returns the number)
Итак, я хочу знать, есть ли какой-нибудь улучшенный способ, которым я могу использовать findstr
, используя regex
, чтобы получить эти числа тоже.
Я пробовал с чем-токак это, но не могу получить это:
set string=foto_20180601_100.jpg
for %%f in ("%string:\=" "%") do for /f %%n in ('echo %%f^|findstr /b /e /r "*[0-9]*.jpg"') do (
echo %%~n
)