Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off

Set "File=1.txt"
Set "FileOut=1.new.txt"

Set /A MM=394

SetLocal EnableDelayedExpansion

Del "%FileOut%" 2>nul
FOR /F "usebackq tokens=1,2,3,4,5 delims=|" %%i IN ("%File%") DO (
	
	Set /A kn=%%k/%MM%
	FOR /L %%a IN (!kn!,-1,1) DO (
		Set /A kk=%%a*%MM%
		>>"%FileOut%" Echo %%i^|%%j^|!kk!^|%%l^|%%m^|
	)

	Set /A kk=%%k-%%k/%MM%*%MM%
	If Not !kk! EQU 0 >>"%FileOut%" Echo %%i^|%%j^|!kk!^|%%l^|%%m^|
)
Увы, приходится домысливать постановку за Вас.
Цитата pageYK@fb:
Нужно вычесть из этого числа 394, и сделать дубль строки с остатком, если остается опять больше 394, то повторяем. »
Я правильно понял, что если будет строка

277|12571301873242|999|dfbfdbdfbdsfsdff||

то в ответе надо иметь

277|12571301873242|788|dfbfdbdfbdsfsdff||
277|12571301873242|394|dfbfdbdfbdsfsdff||
277|12571301873242|211|dfbfdbdfbdsfsdff||

?????????

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 28-07-2016 в 13:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:08, 28-07-2016 | #4