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

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off

	Set "Sep===))"
	Set /A NSep=4
	Set "FName=ma2_20166_28.txt"

SetLocal EnableExtensions EnableDelayedExpansion
Call :ReLast "%FName%"
GoTo :Eof

:ReLast

Del "%~1.tmp" 2>nul
 
Set "Str="
FOR /F "usebackq delims=" %%s IN (`type "%~1"`) DO (
	If Not "!Str!"=="" >>"%~1.tmp" Echo !Str!
	Set "Str=%%s"
)
If Not "!Str:~-%NSep%!"=="%Sep%" Del "%~1.tmp" 2>nul & GoTo :Eof
If "!Str:~0,-%NSep%!"=="" Del "%~1.tmp" 2>nul & GoTo :Eof 

>>"%~1.tmp" Echo !Str:~0,-%NSep%!
>>"%~1.tmp" Echo !Str:~-%NSep%!
Move /Y "%~1.tmp" "%~1" >nul
GoTo :Eof
Дмитрий_Кульгейко@vk, Основные действия оформлены в виде процедуры, возможно, Вам потом захочется еще сделать цикл по файлам. Скрипт не изменит файл, у которого последняя строка
Код: Выделить весь код
==))

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


Последний раз редактировалось megaloman, 11-07-2016 в 09:15.


Отправлено: 08:56, 11-07-2016 | #10