Вот мой образец:

set mail = mymail
for /L  %%x in (001,1,999) do (
    set yourmail = !mail:+%x@gmail.com
    :: other commands here
)

Я хочу, чтобы результат был таким: mymail+001@gmail.com ----> mymail+999@gmail.com

блок кода выше будет хорошо работать? ТКС.

1 ответ1

0

Пробелы важны в инструкциях SET. В вашем примере определена переменная с именем "mail" с пробелом в конце, а значение равно "mymail" с пробелом в начале.

Самый простой способ получить все ваши числа с нулевым префиксом до длины три - это добавить 1000 ко всему и использовать операцию с подстрокой, чтобы взять последние 3 цифры.

set "mail=mymail"
for /l  %%x in (1001,1,1999) do (
  set "num=%%x"
  set "yourmail=!mail!!num:~-3!@gmail.com"
  :: other commands here
)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .