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

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

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

Новый участник


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

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


Здравствуйте. Помогите пожалуйста с батником.
Нужно что бы из txt файла распечатывалось последние 10 строк на принтер. Или эти строки выводились в другой файл.
Заранее спасибо.

Отправлено: 14:43, 18-08-2011

 

Ветеран


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

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


valen,
Последние 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
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:18, 18-08-2011 | #2



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

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


Новый участник


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

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


Спасибо громадное!

Отправлено: 15:55, 18-08-2011 | #3


Новый участник


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

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


Извините, а как просто удалить 10 последних строк из txt файла?

Отправлено: 17:47, 27-01-2016 | #4


Забанен


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

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


"Голым" cmd примерно так:
Код: Выделить весь код
@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

Последний раз редактировалось greg zakharov, 28-01-2016 в 08:38.

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

Отправлено: 18:25, 27-01-2016 | #5


Новый участник


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

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


такой батник получился. но, только первая часть отрабытывает (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
__________________________________________________________________________________________

если раскинуть эти части в разные батники - то режит и тот и тот (отдельно)

а можно как то что бы оно в одном файле было?

Отправлено: 17:16, 28-01-2016 | #6


Ветеран


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

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


Цитата maxpirata:
только первая часть отрабытывает (brsW860-.txt) - а вторая нет (с файлом brsW860.txt). что не так? »
«Не так» — «exit /b» в середине пакетного файла.

Отправлено: 23:37, 28-01-2016 | #7


Новый участник


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

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


не помогло..

отрабатывает только первая часть

может там как то одинаковые имена переменных? (или типо того...)

Отправлено: 10:23, 29-01-2016 | #8


Ветеран


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

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


Значит, второе «не так» — в условии:
Цитата maxpirata:
if %%i equ %i% goto:eof »
Надо смотреть, что с этим делать.

Отправлено: 10:38, 29-01-2016 | #9


Новый участник


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

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


а что это за условие? if %%i equ %i%

можно ли вообще удалить эту строку? - if %%i equ %i% goto:eof

Отправлено: 11:31, 01-02-2016 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Вставка строк в конкретные строки (txt) alexey_vf Скриптовые языки администрирования Windows 2 06-06-2011 14:58
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58
CMD/BAT - [решено] Разработать программу которая будет считать кол-во символов,строк,слов в .txt klenb Скриптовые языки администрирования Windows 10 18-05-2010 15:19
CMD/BAT - [решено] Передача строк из исполняемого файла в текстовый. tr011_tmn Скриптовые языки администрирования Windows 11 14-07-2009 16:42
CMD/BAT - [решено] печать txt файла Loki3D Скриптовые языки администрирования Windows 15 12-05-2009 16:35




 
Переход