Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Оставить n последних строк в тхт файлах (http://forum.oszone.net/showthread.php?t=333582)

Alexander_88 05-03-2018 21:30 2801825

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

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

Busla 06-03-2018 12:40 2801908

используйте PowerShell:
Код:

Get-ChildItem C:\temp\tail-test\ | ForEach-Object { (Get-Content -Path $_.FullName -Tail 100) | Out-File $_.FullName }

Alexander_88 06-03-2018 14:12 2801930

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

alpap 06-03-2018 14:31 2801937

Цитата:

Цитата 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


Alexander_88 06-03-2018 15:14 2801947

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


Время: 00:14.

Время: 00:14.
© OSzone.net 2001-