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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Оставить n последних строк в тхт файлах

Ответить
Настройки темы
CMD/BAT - [решено] Оставить n последних строк в тхт файлах

Ветеран


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

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


Здравствуйте. Подскажите, каким образом можно решить задачку.

в папке несколько txt файлов........ в каждом тхт файле, список ссылок.. (каждая ссылка в новой строке).
Нужно, чтобы в каждом из этих файлов осталось n количество последних строк (ссылок), остальные все удалились (вместе с пустыми строками, оставшихся после их удаления).
К примеру необходимо оставить 100 последних строк.

Отправлено: 21:30, 05-03-2018

 

Ветеран


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

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


используйте PowerShell:
Код: Выделить весь код
Get-ChildItem C:\temp\tail-test\ | ForEach-Object { (Get-Content -Path $_.FullName -Tail 100) | Out-File $_.FullName }
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:40, 06-03-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Спасибо, работает

Отправлено: 14:12, 06-03-2018 | #3


Ветеран


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

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


Цитата Busla:
используйте PowerShell: »
в данном случае мудрое решение, а:

для примера приведу на bat, чтобы понять какая разница в мучениях при выполнении задачи практически не предназначенной для этого яп
Код: Выделить весь код
@echo off
set kstr=100

for /f "delims=" %%a in ('dir /a-d/b "*.txt"') do <"%%a" (for /f %%n in ('find /v /c ""') do set /a pr=%%n-kstr)& call :psto "%%a" %%pr%%
pause& exit

:psto
 <"%~1">$ (more +%2)& >nul move $ "%~1"
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:31, 06-03-2018 | #4


Ветеран


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

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


Спасибо, батничек тоже работает, сохраню оба варианта

Отправлено: 15:14, 06-03-2018 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Оставить n последних строк в тхт файлах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] вывести количество строк в тхт файлах Alexander_88 Скриптовые языки администрирования Windows 11 30-10-2021 19:44
CMD/BAT - [решено] Печать последних 10 строк из txt файла. valen Скриптовые языки администрирования Windows 9 01-02-2016 11:31
CMD/BAT - [решено] скопировать n последних строк одного тхт файла и вставить их в конец другого тхт файл Alexander_88 Скриптовые языки администрирования Windows 2 23-11-2015 16:38
Любой язык - Умная замена ссылок в тхт файлах Alexander_88 Скриптовые языки администрирования Windows 0 11-10-2015 17:54
Как оставить в файле Х первых строк? Dan Вебмастеру 10 19-10-2002 00:41




 
Переход