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

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

Ветеран


Contributor


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

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


Можно извратиться вот так, при этом последнее имя файла из Dir не попадёт в текстовый файл
Код: Выделить весь код
@Echo Off

Set "File=100001.txt"
Set "Mask=20??????.jrn"

SetLocal EnableExtensions EnableDelayedExpansion

Set "String='"
FOR /F "usebackq delims=" %%i in (`Dir "%Mask%" /b /A:-D /O:N 2^>nul`) Do If !String!==' (Set "String=%%i"&Del "%File%" 2>Nul) Else (Echo !String!>>"%File%"&Set "String=%%i")
Или, чтобы легче читалось, то же самое
Код: Выделить весь код
@Echo Off

Set "File=100001.txt"
Set "Mask=20??????.jrn"

SetLocal EnableExtensions EnableDelayedExpansion

Set "String='"
FOR /F "usebackq delims=" %%i in (`Dir "%Mask%" /b /A:-D /O:N 2^>nul`) Do (
	If !String!==' ( 
		Set "String=%%i"
		Del "%File%" 2>Nul
	) Else (
		Echo !String!>>"%File%"
		Set "String=%%i"
	)
)
Или, если вернуться к изначальной теме "Как удалить последнюю строку в текстовом файле?", то на этой же идее
Код: Выделить весь код
@Echo Off

Set "File=100001.txt"

SetLocal EnableExtensions EnableDelayedExpansion

Set "String='"
FOR /F "usebackq delims=" %%i in (`Type "%File%"`) Do If !String!==' (Set "String=%%i"&Del "%File%" 2>Nul) Else (Echo !String!>>"%File%"&Set "String=%%i")

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


Последний раз редактировалось megaloman, 21-02-2014 в 20:13.

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

Отправлено: 19:51, 21-02-2014 | #11