Пожалуйста, посмотрите, поможет ли вам следующий пример Rem
arked batch-file .
@Echo Off
SetLocal EnableDelayedExpansion
Rem Undefine any existing variable named inputNum.
Set "inputNum="
Rem Read input number from first line of input file.
Set /P "inputNum="<"nummer.txt"
Rem Exit script if inputNum was not defined.
If Not Defined inputNum GoTo :EOF
Rem Define a number of additional iterations [number results required - 1].
Set "#=9"
Rem Define an increment size.
Set "i=5"
Rem Define a variable for total increase, [# x i].
Set /A $=#*i
Rem Undefine an existing verable named arg.
Set "arg="
Rem Begin looping for stated iterations.
For /L %%G In (0,%i%,%$%)Do (
Set /A arg=inputNum+%%G
Rem Call subfunction passing the input number as an argument.
Call :Sub "!arg!"
Rem If successful,
If Defined mitte (
Rem Output resultant number sequence.
Echo !mitte!
) Else (
Rem Exit if no result sequence.
GoTo EndIt
)
)
:EndIt
Rem Allow time to read output before ending.
Pause
EndLocal
GoTo :EOF
:Sub
Rem Undefine any existing variable named mitte.
Set "mitte="
Rem Split each character of passed argument.
For /F Delims^=^ EOL^= %%G In ('"Cmd /U/C Echo(%~1|Find /V """')Do (
Rem prefix each digit of inputNum with 3.
If Not Defined mitte (Set "mitte=3%%G")Else Set "mitte=!mitte!3%%G")
Rem return to next command line after previous Call
Exit /B
Для тестирования вам нужно только убедиться, что путь к вашему входному файлу правильно, (строка 6
) . Я дополнительно включил средство для вывода определенного c числа дополнительных итераций (строка 10
) с фиксированным приращением (строка 12
) . Пожалуйста, настройте их по мере необходимости.
Что делать, если nummer.txt
содержит только 401
, с 9
дополнительными итерациями, увеличивающимися на 5
, должно получиться:
343031
343036
343131
343136
343231
343236
343331
343336
343431
343436
После тестирования вы, вероятно, захотите заменить Echo !mitte!
на (Echo 0F0900000A00143030303030303030303030303030303030!mitte!00)>COM3
, (строка 26
)