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

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

Ответить
Настройки темы
CMD/BAT - [решено] Копирование указанного количество блоков из txt файла, начиная с конца

Ветеран


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

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


Здравствуйте. Подскажите возможно ли из txt файла, в котором куча блоков текста разделенные через символ //================== скопировать указанное количество последних блоков в другой txt файл, а также после каждого блока добавить тот же символ //==================
Т.е. к примеру у меня txt файл:

//==================
блок1
//==================
блок2
//==================
блок3
//==================
блок4
//==================
........................
//==================
блок5000
//==================

Я указал 5 последних блоков. После применения кода должен получиться такой txt:

блок4996
//==================
блок4997
//==================
блок4998
//==================
блок4999
//==================
блок5000
//==================


Отправлено: 17:14, 30-08-2014

 

Ветеран


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

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


Код: Выделить весь код
@echo off

set n=5

for /f %%i in ('
 find /c "//=================="^<"example.txt"
') do (
 set /a n=%%i-%n%
 )
for /f "tokens=2 delims=:" %%i in ('
 findstr /n \/\/================== "example.txt"^| findstr /n "^"^| findstr "^%n%:"
') do (
 more +%%i<"example.txt">"new.txt"
 )

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

Отправлено: 18:25, 30-08-2014 | #2



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

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


Ветеран


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

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


что то у меня ничего не происходит, просто черный экран открылся закрылся и все, а файла new нету, в папке создал example.txt и там такой текст:

Код: Выделить весь код
//==================
block1
//==================
block2
//==================
block3
//==================
block4
//==================
block5
//==================
n = 2 поставил

спасибо, работает, новый txt просто создал, тот походу в unicode был

Отправлено: 19:11, 30-08-2014 | #3


Ветеран


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

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


Зря я обрадовался, подставил в свой тхт файл, в итоге, файл new получился просто как копия, искал в чем дело, убирал символы, в итоге выяснилось, что из за символа / происходит, просто там есть ссылки, а также символы
Код: Выделить весь код
/ : [ ] . _ -
а также пустые строки

Отправлено: 20:15, 30-08-2014 | #4


Ветеран


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

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


Alexander_88, приведите содержимое файла полностью.

Отправлено: 20:42, 30-08-2014 | #5


Ветеран


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

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


Код: Выделить весь код
jhjhghgjhgjhgjhg, jhfgfgfhghgf
-----------------------------------------------------
(img)http://5s.hghjgjhg.hg/0176gh4/fkhghj...gjb_m.jpg(/img)
(img)http://5s.hghjgjhg.hg/0176gh4/fkhghj...gjb_m.jpg(/img)

jhdjkhcwjdckwdc, wjehkwehgjkwehdwjed, wjhfwgweghdwgehgf, wejhfkwjehfkjwehfk 

asxasxasx:  45gfgf.mpg
asxasxasx:  434234234
asxasxasx:  00:31:14
asxasxasx:  896.31 MB

uuyyuyyy
(url)http://jhgjhgjhgjj.hgh/fgdgffgdfdgfd...fghhg.avi(/url)
//==================
jhjhghgjhgjhgjhg, jhfgfgfhghgf
-----------------------------------------------------
(img)http://5s.hghjgjhg.hg/0176gh4/fkhghj...gjb_m.jpg(/img)
(img)http://5s.hghjgjhg.hg/0176gh4/fkhghj...gjb_m.jpg(/img)

jhdjkhcwjdckwdc, wjehkwehgjkwehdwjed, wjhfwgweghdwgehgf, wejhfkwjehfkjwehfk 

asxasxasx:  45gfgf.mpg
asxasxasx:  434234234
asxasxasx:  00:31:14
asxasxasx:  896.31 MB

uuyyuyyy
(url)http://jhgjhgjhgjj.hgh/fgdgffgdfdgfd...fghhg.avi(/url)
//==================
jhjhghgjhgjhgjhg, jhfgfgfhghgf
-----------------------------------------------------
(img)http://5s.hghjgjhg.hg/0176gh4/fkhghj...gjb_m.jpg(/img)
(img)http://5s.hghjgjhg.hg/0176gh4/fkhghj...gjb_m.jpg(/img)

jhdjkhcwjdckwdc, wjehkwehgjkwehdwjed, wjhfwgweghdwgehgf, wejhfkwjehfkjwehfk 

asxasxasx:  45gfgf.mpg
asxasxasx:  434234234
asxasxasx:  00:31:14
asxasxasx:  896.31 MB

uuyyuyyy
(url)http://jhgjhgjhgjj.hgh/fgdgffgdfdgfd...fghhg.avi(/url)
//==================
он большой, я 3 блока взял

только вместо круглых скобок в тегах , квадратные

и где жирное там (b) тоже через квадратные

Отправлено: 20:54, 30-08-2014 | #6


Ветеран


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

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


Цитата Alexander_88:
он большой, я 3 блока взял »
Вместо:
Цитата Alexander_88:
только вместо круглых скобок в тегах , квадратные
и где жирное там (b) тоже через квадратные »
— упакуйте Ваш файл в архив и приложите к сообщению. Именно так надо было сделать в самом первом сообщении вместо «к примеру».
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:24, 30-08-2014 | #7


Ветеран


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

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


Alexander_88, проблема скрывалась в непроставленных мной кавычках (кстати, интересная тема: в данном случае знаки равенства необходимо экранировать, или же нужно заключать в кавычки содержащую их строку, если это возможно).


Код: Выделить весь код
@echo off

set n=5

for /f %%i in ('
 find /c "//=================="^<"example.txt"
') do (
 set /a n=%%i-%n%
 )
for /f "tokens=2 delims=:" %%i in ('
 findstr /n "\/\/==================" "example.txt"^| findstr /n "^"^| findstr "^%n%:"
') do (
 more +%%i<"example.txt">"new.txt"
 )

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

Отправлено: 22:07, 30-08-2014 | #8


Ветеран


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

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


упаковал в рар, прикрепил к сообщению

Последний раз редактировалось Alexander_88, 16-10-2015 в 09:28.


Отправлено: 22:09, 30-08-2014 | #9


Ветеран


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

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


Georgio, все работает отлично, спасибо вам

Отправлено: 22:16, 30-08-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] копирование указанного количества случайных блоков текста из текстового файла Alexander_88 Скриптовые языки администрирования Windows 7 26-08-2014 18:36
CMD/BAT - [решено] Перемещение указанного количества пронумерованных файлов, начиная с последнего Alexander_88 Скриптовые языки администрирования Windows 2 24-08-2014 23:08
CMD/BAT - [решено] Копирование\перенос строк с 1.txt до определённой строки\секции в 2.txt. crimes Скриптовые языки администрирования Windows 7 11-06-2013 14:42
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58
Удаление файлов из списка указанного в txt blacks2 Вебмастеру 28 02-09-2009 20:09




 
Переход