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

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

Ветеран


Contributor


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

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


Дмитрий_Кульгейко@vk, Предчувствия меня не обманули , замените кусок кода из моего предыдущего поста, и будет Вам желаемое:
Код: Выделить весь код
@Echo Off

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

SetLocal EnableExtensions EnableDelayedExpansion
For  %%f IN ("%FName%") DO Call :ReLast "%%f"
GoTo :Eof
FName может быть указан и полным путём, например,
Set "FName=C:\ku-ku\tra la la\ma2_*.txt"
И далее как в предыдущем посте
Код: Выделить весь код
: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
А если файлы и переименовать нужно
как в Вашей предыдущей теме
Код: Выделить весь код
@Echo Off

	Set "Sep===))"
	Set /A NSep=4
	Set "FName=ma2_?????_??.txt"
	Set "Pref=12345_5_"

SetLocal EnableExtensions EnableDelayedExpansion
For  %%f IN ("%FName%") DO Call :ReLast "%%f"
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%!

Set "Name=%~n1"
Set "Name2=0!Name:~8,-3!"
Set "Name=%Pref%!Name:~6,2!!Name2:~-2!!Name:~-2!%~x1"

Move /Y "%~1.tmp" "%~dp1%Name%" >nul
If Exist "%~dp1%Name%" echo Del "%~1"  
GoTo :Eof
Если уберёте echo, то исходный файл будет удалён

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


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

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

Отправлено: 11:50, 11-07-2016 | #12