CMD/BAT - [решено] Печать последних 10 строк из txt файла.
-
valen
CMD/BAT - [решено] Печать последних 10 строк из txt файла.
Здравствуйте. Помогите пожалуйста с батником.
Нужно что бы из txt файла распечатывалось последние 10 строк на принтер. Или эти строки выводились в другой файл.
Заранее спасибо.
Нужно что бы из txt файла распечатывалось последние 10 строк на принтер. Или эти строки выводились в другой файл.
Заранее спасибо.
-
valen
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
valen,
Последние 10 строк в другой файл
Код:
Последние 10 строк в другой файл
Код:
Код: Выделить всё
@echo off
setlocal
for /f %%i in ('type 1.txt ^| find /c /v ""') do set /a skip=%%i-10
1>2.txt more +%skip% 1.txt-
valen
-
valen
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
Извините, а как просто удалить 10 последних строк из txt файла?
-
maxpirata
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
"Голым" cmd примерно так:
Код:
Если есть sed:
Код:
Ну или PowerShell:
Код:
Код:
Код: Выделить всё
@echo off
setlocal
for /f %%i in ('find /c /v "" ^< myfile') do set /a "i=%%i-9"
>out.txt (for /f "tokens=1,* delims=][" %%i in (
'find /n /v "" myfile'
) do (
if %%i equ %i% goto:eof
echo:%%j
))
endlocal
exit /bЕсли есть sed:
Код:
Код: Выделить всё
sed ':a;$!N;1,10ba;P;$d;D' myfile > out.txtНу или PowerShell:
Код:
Код: Выделить всё
($$ = gc .\myfile)[0..($$.Count - 10)] | Out-File out.txt-
maxpirata
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
такой батник получился. но, только первая часть отрабытывает (brsW860-.txt) - а вторая нет (с файлом brsW860.txt). что не так?
__________________________________________________________________________________________
@echo off
setlocal
for /f %%i in ('find /c /v "" ^< L:\brsW860-.txt') do set /a "i=%%i-7"
>L:\bW860DB.txt (for /f "tokens=1,* delims=][" %%i in (
'find /n /v "" L:\brsW860-.txt'
) do (
if %%i equ %i% goto:eof
echo:%%j
))
endlocal
exit /b
@echo off
setlocal
for /f %%i in ('find /c /v "" ^< L:\brsW860.txt') do set /a "i=%%i-10"
>L:\bW860MB.txt (for /f "tokens=1,* delims=][" %%i in (
'find /n /v "" L:\brsW860.txt'
) do (
if %%i equ %i% goto:eof
echo:%%j
))
endlocal
exit /b
__________________________________________________________________________________________
если раскинуть эти части в разные батники - то режит и тот и тот (отдельно)
а можно как то что бы оно в одном файле было?
__________________________________________________________________________________________
@echo off
setlocal
for /f %%i in ('find /c /v "" ^< L:\brsW860-.txt') do set /a "i=%%i-7"
>L:\bW860DB.txt (for /f "tokens=1,* delims=][" %%i in (
'find /n /v "" L:\brsW860-.txt'
) do (
if %%i equ %i% goto:eof
echo:%%j
))
endlocal
exit /b
@echo off
setlocal
for /f %%i in ('find /c /v "" ^< L:\brsW860.txt') do set /a "i=%%i-10"
>L:\bW860MB.txt (for /f "tokens=1,* delims=][" %%i in (
'find /n /v "" L:\brsW860.txt'
) do (
if %%i equ %i% goto:eof
echo:%%j
))
endlocal
exit /b
__________________________________________________________________________________________
если раскинуть эти части в разные батники - то режит и тот и тот (отдельно)
а можно как то что бы оно в одном файле было?
-
Iska
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
Цитата maxpirata:
только первая часть отрабытывает (brsW860-.txt) - а вторая нет (с файлом brsW860.txt). что не так?
«Не так» — «exit /b» в середине пакетного файла.
только первая часть отрабытывает (brsW860-.txt) - а вторая нет (с файлом brsW860.txt). что не так?
CMD/BAT - [решено] Печать последних 10 строк из txt файла.
«Не так» — «exit /b» в середине пакетного файла.
-
maxpirata
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
не помогло..
отрабатывает только первая часть
может там как то одинаковые имена переменных? (или типо того...)
отрабатывает только первая часть
может там как то одинаковые имена переменных? (или типо того...)
-
maxpirata
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
Значит, второе «не так» — в условии:
Цитата maxpirata:
if %%i equ %i% goto:eof
Надо смотреть, что с этим делать.
Цитата maxpirata:
if %%i equ %i% goto:eof
CMD/BAT - [решено] Печать последних 10 строк из txt файла.
Надо смотреть, что с этим делать.
-
Iska
Re: CMD/BAT - [решено] Печать последних 10 строк из txt файла.
а что это за условие? if %%i equ %i%
можно ли вообще удалить эту строку? - if %%i equ %i% goto:eof
можно ли вообще удалить эту строку? - if %%i equ %i% goto:eof