Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off &Cls
	Set "FileIn=Z:\Box_In\file.anc"
	Set "BoxOut=Z:\Box_Out"

	Set /A N=0, M=0
	For /F "usebackq delims=" %%i In (`2^>nul More "%FileIn%"`) Do Call :Out "%FileIn%" "%%i"
Pause
Exit /B

:Out
	If %2=="" If %N% EQU 0 (Set /A M+=1, N=1 &Exit /B) Else (Set /A N=0 &Exit /B)
	If %N% EQU 1 2>nul Del "%BoxOut%\%~n1%M%%~x1" 
	Set /A N+=1
	>>"%BoxOut%\%~n1%M%%~x1" Echo %~2
Exit /B
Вариант с лидирующими нулями в номере файла
Код: Выделить весь код
@Echo Off &Cls
	Set "FileIn=Z:\Box_In\file.anc"
	Set "BoxOut=Z:\Box_Out"

	Set /A N=0, M=1000
	For /F "usebackq delims=" %%i In (`2^>nul More "%FileIn%"`) Do Call :Out "%FileIn%" "%%i"
Pause
Exit /B

:Out
	If %2=="" If %N% EQU 0 (Set /A M+=1, N=1 &Exit /B) Else (Set /A N=0 &Exit /B)
	If %N% EQU 1 2>nul Del "%BoxOut%\%~n1%M:~-3%%~x1" 
	Set /A N+=1
	>>"%BoxOut%\%~n1%M:~-3%%~x1" Echo %~2
Exit /B

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


Последний раз редактировалось megaloman, 19-05-2023 в 17:29.

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

Отправлено: 17:22, 19-05-2023 | #4