|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как удалить последнюю строку в текстовом файле? |
|
CMD/BAT - [решено] Как удалить последнюю строку в текстовом файле?
|
Новый участник Сообщения: 32 |
Добрый день, люди добрые помогите, что-то я вообще запутался.
Как удалить последнюю строку в файле? Строку эту я знаю. Файл 100001.txt Или можно выполнить dir без последней строки(файла) |
|
Отправлено: 16:03, 20-02-2014 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата ivanxam:
Цитата ivanxam:
Цитата ivanxam:
@echo off for /f "usebackq" %%i in ("100001.txt") do ( set /a m+=1 ) ( for /f "usebackq delims=" %%i in ("100001.txt") do ( set /a n+=1 call echo %%n%%|>nul findstr /vxc:%m%&& echo %%i ))>.tmp move .tmp "100001.txt">nul Цитата ivanxam:
Вариант №1. @echo off for /f "delims=" %%i in ('dir /a-d /b *.jrn') do ( set /a m+=1 ) ( for /f "delims=" %%i in ('dir /a-d /b *.jrn') do ( set /a n+=1 call echo %%n%%|>nul findstr /vxc:%m%&& echo %%i ))>"100001.txt" @echo off for %%i in (*.jrn) do ( set /a m+=1 >nul dir /a-d /b %%i ) ( for %%i in (*.jrn) do ( set /a n+=1 call echo %%n%%|>nul findstr /vxc:%m%&& dir /a-d /b %%i ))>"100001.txt" Если в выводе нужны только имена файлов с расширениями (как у Вас), то можно обойтись без команды "dir". @echo off for %%i in (*.jrn) do ( set /a m+=1 ) ( for %%i in (*.jrn) do ( set /a n+=1 call echo %%n%%|>nul findstr /vxc:%m%&& echo %%i ))>"100001.txt" P. S. Команда "@echo off" обязательна во всех приведённых кодах. |
||||
Отправлено: 11:56, 21-02-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:46, 21-02-2014 | #3 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:07, 21-02-2014 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Я бы попробовал так:
|
|
Отправлено: 14:25, 21-02-2014 | #5 |
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать Всем огромное спасибо.
|
Отправлено: 14:42, 21-02-2014 | #6 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
Цитата ivanxam:
вторую часть вопроса не рассматривал, т. к. не понятно. по какому критерию считать последнюю строку Цитата ivanxam:
|
|||
Последний раз редактировалось sov44, 21-02-2014 в 17:36. Отправлено: 17:26, 21-02-2014 | #7 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Прямолинейно
@Echo Off Set "File=100001.txt" SetLocal EnableExtensions EnableDelayedExpansion Set /A N=0 FOR /F "usebackq delims=" %%i in (`Type "%File%"`) do Set /A N+=1 Set /A M=%N% Set /A N=0 FOR /F "usebackq delims=" %%i in (`Type "%File%"`) do Set /A N+=1 & If !N!==1 (Echo %%i>"%File%") Else (If !N! LSS %M% Echo %%i>>"%File%") |
------- Отправлено: 18:16, 21-02-2014 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
Цитата megaloman:
|
|||
Отправлено: 18:33, 21-02-2014 | #9 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Опять прямолинейно, если в файле 100001.txt не важен порядок (по убыванию-возрастанию)
@Echo Off Set "File=100001.txt" Set "Mask=20??????.jrn" Del "%File%" 2>Nul FOR /F "skip=1 usebackq delims=" %%i in (`Dir "%Mask%" /b /A:-D /O:-N 2^>nul`) Do Echo %%i>>"%File%" |
------- Отправлено: 19:10, 21-02-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удалить пустую строку в файле .txt | denntl | Скриптовые языки администрирования Windows | 2 | 18-07-2013 11:48 | |
Любой язык - [решено] Как выделить каждую определенною строку в текстовом файле | KooDI | Скриптовые языки администрирования Windows | 6 | 05-03-2013 21:47 | |
VBS/WSH/JS - [решено] Как изменить конкретную строку в текстовом файле с помощью Vbscript | neo21 | Скриптовые языки администрирования Windows | 8 | 30-10-2011 15:47 | |
CMD/BAT - [решено] Удалить в текстовом файле по условию | AlexVong | Скриптовые языки администрирования Windows | 1 | 21-11-2010 11:53 | |
[решено] Как удалить строки в текстовом файле при отсутсвии файла в опрелеленном месте? | Pozia | AutoIt | 23 | 14-05-2009 21:41 |
|