148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
1

Как скопировать текст от одной заданной метки до другой из одного текстового файла в другой?

11.11.2014, 14:44. Показов 5924. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно скопировать всё что находится в txt файле ОТ <dekl> ДО </dekl>
подскажите пожалуйста, сам найти так и не смог =(
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2014, 14:44
Ответы с готовыми решениями:

Как скопировать определенные строки из одного текстового файла и вставить их в другой?
как через cmd скопировать определенные строки в txt (на пример с 1-ой по 199-ую и с 200-ой по...

Скопировать текст из одного файла и перенести в другой
Добрый день! Подскажите, пожалуйста, как решить задачу ниже: файл 1.txt содержит такую...

Скопировать из одного текстового файла в другой только гласные буквы и посчитать их общее количество
Скопировать из одного текстового файла в другой только гласные буквы и посчитать их общее...

Скопировать строки из одного текстового файла в другой, расположив их в нем в порядке уменьшения длины
Всем привет! Помогите мне с решением данной задачи! Мне уже через 4.5 часа ее нужно будет сдавать,...

11
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
11.11.2014, 15:13 2
notepad++
выделить синтаксис, свернуть массив <dekl></dekl> и копировать его
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
11.11.2014, 15:13  [ТС] 3
-_- причём тут notepad++, мне bat нужен.
0
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
11.11.2014, 15:17 4
DarkJoker1992, ах, прости, не дочитал раздел в котором статья находится)
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
11.11.2014, 15:18  [ТС] 5
бывает =)
0
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
11.11.2014, 15:49 6
Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
 
set "in=D:\Test\example.txt"
set "out=D:\Test\new.txt"
set "from=^<dekl^>"
set "to=^</dekl^>"
 
type "%in%">.tmp
mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write("%from%"+Split(Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(".tmp").ReadAll(),"%from%")(1),"%to%")(0)+"%to%")&Close()">"%out%"
del .tmp
 
exit /b
1
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
11.11.2014, 16:33  [ТС] 7
простите а как сделать что бы <dekl> </dekl> не входили в out файл?
0
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
11.11.2014, 16:53 8
Лучший ответ Сообщение было отмечено DarkJoker1992 как решение

Решение

DarkJoker1992, надо было писать "между", а то я специально включил разделители в вывод результата.



Без включения разделителей:


Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
 
set "in=D:\Test\example.txt"
set "out=D:\Test\new.txt"
set "from=^<dekl^>"
set "to=^</dekl^>"
 
type "%in%">.tmp
mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(Split(Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(".tmp").ReadAll(),"%from%")(1),"%to%")(0))&Close()">"%out%"
del .tmp
 
exit /b

.
2
0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 1
20.11.2016, 00:20 9
ComSpec, большое вам спасибо за это решение! Очень помогло!

Пусть спустя несколько лет, но можно вас попросить ещё подсказать - как после копирования, в отдельный файл строк в заданном промежутке, ещё и удалить этот промежуток из исходного файла?

Т.е. скопировали и сохранили в новый файл ОТ <dekl> ДО </dekl> (включая сами <dekl> и </dekl>), а потом в исходном файле удалили всё ОТ <dekl> ДО </dekl> (включая сами <dekl> и </dekl>).

Заранее спасибо!
0
5888 / 1730 / 295
Регистрация: 10.12.2013
Сообщений: 6,071
20.11.2016, 03:13 10
да-а ...
2 года промежуток провёл в исходном файле, будучи в своё время неудалённым.
0
4330 / 2120 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.11.2016, 20:07 11
Azartno,
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set "f=file.txt"
set "sp=<dekl></dekl>"
<"%f%" (for /f "delims=" %%a in ('find/v ""') do (
  set "s=%%a"& echo "%%a"|findstr/rnc:"%sp:><=>.*<%" && (
   >"new_file.txt" (cmd/v/c echo:!s:*:^^=!)
  ) || (
   >>$ (cmd/v/c echo:!s:*:^^=!)
  )
 )
)& move $ "%f%"
exit
.
0
3455 / 1993 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
21.11.2016, 02:35 12
Цитата Сообщение от Azartno Посмотреть сообщение
...скопировали и сохранили в новый файл ОТ <dekl> ДО </dekl> (включая сами <dekl> и </dekl>), а потом в исходном файле удалили всё ОТ <dekl> ДО </dekl> (включая сами <dekl> и </dekl>).


Вариант 1:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
 
set "in=example.txt"
set "out=new.txt"
set "from=<dekl>"
set "to=</dekl>"
 
mshta vbscript:Execute("On Error Resume Next:Set o=CreateObject(""Scripting.FileSystemObject""):a=o.OpenTextFile(""%in%"").ReadAll():t=""%from%""+Split(Split(a,""%from%"")(1),""%to%"")(0)+""%to%"":o.OpenTextFile(""%out%"",2,True).Write(t):o.OpenTextFile(""%in%"",2,True).Write(Replace(a,t,"""")):close()")
 
exit /b
.

Вариант 2:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
 
set "in=example.txt"
set "out=new.txt"
set "from=<dekl>"
set "to=</dekl>"
 
mshta vbscript:Execute("On Error Resume Next:With CreateObject(""VBScript.RegExp""):.Pattern=""%from%[\s\S]*%to%"":.IgnoreCase=True:Set o=CreateObject(""Scripting.FileSystemObject""):a=o.OpenTextFile(""%in%"").ReadAll():t=.Execute(a).Item(0):End With:o.OpenTextFile(""%out%"",2,True).Write(t):o.OpenTextFile(""%in%"",2,True).Write(Replace(a,t,"""")):close()")
 
exit /b
.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2016, 02:35
Помогаю со студенческими работами здесь

Скопировать текст из одного файла в другой, начиная с символа цифра
Нужно скопировать в файл текст из исходного файла, начиная с первого символа цифры. Показать...

Работа с файлами (Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания длины)
Скопировать слова из одного текстового файла в другой, расположив их в нем в порядке возрастания...

Как на странице скопировать текст из одного TextBox в другой?
добрый день, в представлении ASP.NET MVC имеется два текстовых поля @model...

Скопировать текст из одного файла в другой, добавляя порядковый номер строки и количество символов в ней
Помогите с задачей, пожалуйста!!!:) спасибо заранее! Описать функцию Lines(FileIn, FileOut),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru