Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/345: Рейтинг темы: голосов - 345, средняя оценка - 4.61
Ramazan13

Редактирование текстового файла

07.12.2009, 16:13. Показов 65142. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заранее извиняюсь если тема уже подымалось, поиск ни чего не дал
Нужен батник котрый будет изменять одно слово в текстовом файле.
сам батник и текстовый файл лежат в одном катологе, ОС WinXP
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2009, 16:13
Ответы с готовыми решениями:

Редактирование содержимого текстового файла
Есть текстовый файлик типа: первая строка вторая строка третья строка четвертая строка пятая строка шестая строка седьмая...

Редактирование содержимого текстового файла
Доброе время суток, Уважаемые знатоки! Такая ситуация есть txt файл (допустим files.txt) с таким содержимым: ...

Редактирование части текстового документа
Имеется текстовый документ. Нужно изменить слово в кавычках в третьей строке батником. PS. Это слово в кавычках находится в самом конце...

26
Ramazan13
08.12.2009, 10:31
так ни кто и не подскажет?
хоть сылочку бы, на команды для открытия и редактирования текстового файла из командной строки.
Логика понятна - открываем файл для редактирования, находим нужную последовательность симвалов, меняем эту последовательность симвволов на нужное, закрываем файл.
подскажите синтаксис?
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28047 / 15783 / 983
Регистрация: 15.09.2009
Сообщений: 67,753
Записей в блоге: 78
08.12.2009, 11:54
из батника не выйдет.
ищи скрипты....
0
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 4
08.12.2009, 13:44
порой команду FINDSTR и поиграйся с перенаправлением вывода и переименованием файлов. У меня с её помощью кое-что получалось из *.cmd сделать.
0
1 / 1 / 0
Регистрация: 14.06.2013
Сообщений: 6
20.09.2013, 15:00
Может так?
Windows Batch file Скопировано
1
2
3
4
5
6
7
8
9
10
11
Set infile=имя txt файла.txt 
Set find=какой отрывок изменить 
Set replace=на что изменить
 
setlocal enabledelayedexpansion 
for /F "tokens=* delims=," %%n in (!infile!) do ( 
set LINE=%%n 
set LINE=!LINE:%find%=%replace%! 
@echo !LINE!>>в какой файл сохранить.txt 
)
endlocal
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18023 / 7726 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
20.09.2013, 16:24

Не по теме:

Ему уже не нужно



Но тогда уже так (без разделителей, кавычки, объявления все вначале, строки с пробелом печатаем без ошибки):
Bash Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
 
Set infile=имя txt файла.txt
Set outFile=в какой файл сохранить.txt
Set find=какой отрывок изменить 
Set replace=на что изменить
 
for /F "UseBackQ delims=" %%n in ("%infile%") do ( 
  set "LINE=%%n"
  echo=!LINE:%find%=%replace%!>>"%outFile%"
)
1
0 / 0 / 0
Регистрация: 14.01.2014
Сообщений: 9
27.07.2016, 10:12
Из сообщения pavlukivan код добавляет в конец файла строку «!LINE! »,
из сообщения Dragokas код добавляет в конец файла строку «!LINE:какой отрывок изменить = на что изменить», а не находит указанный текст и меняет его...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18023 / 7726 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
27.07.2016, 16:30
BonD 007, как раз именно то и делает, что описано в задании, если использовать директиву
Цитата Сообщение от Dragokas Посмотреть сообщение
SetLocal EnableExtensions EnableDelayedExpansion
разве что она у Вас по какой-то причине не работает (опечатка / не указана вообще / ... какая-то специфическая версия ОС или интерпретатора / ... ).
0
0 / 0 / 0
Регистрация: 08.04.2015
Сообщений: 2
16.08.2016, 10:37
Dragokas, добрый день, подскажи, пожалуйста, может можно как-то поправить твой код, чтобы не удалялись знаки восклицания (!) из текста?
0
4339 / 2129 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
16.08.2016, 21:45
вар1
Windows Batch file Скопировано
1
2
3
4
5
6
7
8
@echo off
for /f "delims=" %%a in ('type "file.txt"') do set "s=%%a"& call :p "%%s:!=^!%%"
pause& exit
 
:p
 setlocal enabledelayedexpansion
 echo %~1
exit/b
вар2
Windows Batch file Скопировано
1
2
3
4
5
6
7
8
9
10
@echo off
<"file.txt" (
 for /f "delims=" %%a in ('more') do (
  set "s=%%a"
  setlocal enabledelayedexpansion
  set "s=!s:^!=^^!!"
  echo !s!
 )
)
pause
0
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 23
30.09.2016, 16:10
Тоже нужна замена в текстовом файле, только без создания нового файла с изменениями, а изменение непосредственно в этом файле.
Поковырялся со скриптом Dragokas, получился довесок.
Windows Batch file Скопировано
1
2
copy "%outFile%" "%infile%"
del "%outFile%"
Или есть более красивое решение?
Небольшое расширение этой задачи. Нужно заменить текст внутри всех файлов "name.ext", лежащих в определённом каталоге, включая подкаталоги.
И ещё проблема. Если искомая и заменяемая строки содержат спецсимволы, то замена происходит совсем некорректно.
Пример искомой строки:
<HideableDialog id="ScaleList.LargeScaleAlert" title="Масштаб аннотаций — большое количество масштабов" category="Масштаб аннотаций" application="" result="7">
0
 Аватар для volodin661
6332 / 2172 / 341
Регистрация: 10.12.2013
Сообщений: 7,465
30.09.2016, 20:32
Цитата Сообщение от Mitek1977 Посмотреть сообщение
есть более красивое решение?
в решениях, связанных с интерпретатором CMD, красоту найти совсем нелегко,
( https://www.youtube.com/watch?v=BCM1uAKOsoo)
особенно, когда есть с чем сравнивать.

если исходный файл, требующий редактирования, представляет из себя XML,
я бы посоветовал использовать xquery для замены значений узлов и атрибутов.
( а для версий windows 7 и старше имеется уже встроенный powershell, тогда использовать именно его )
0
Любознательный
 Аватар для YuS_2
6942 / 2096 / 347
Регистрация: 10.03.2016
Сообщений: 4,844
30.09.2016, 20:56
Цитата Сообщение от Mitek1977 Посмотреть сообщение
Или есть более красивое решение?
Красота имеет наименьшее значение... главное эффективность и производительность, но это уже не совсем про cmd...
Но можно заменить эти две команды одной:
Windows Batch file Скопировано
1
move /y "%outFile%" "%infile%"
0
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 23
05.10.2016, 15:46
Цитата Сообщение от volodin661 Посмотреть сообщение
если исходный файл, требующий редактирования, представляет из себя XML,
я бы посоветовал использовать xquery для замены значений узлов и атрибутов.
( а для версий windows 7 и старше имеется уже встроенный powershell, тогда использовать именно его )
А можно конкретное решение? А то я не силён в этом.
(На компе Windows 7).
0
Любознательный
 Аватар для YuS_2
6942 / 2096 / 347
Регистрация: 10.03.2016
Сообщений: 4,844
05.10.2016, 16:58
Цитата Сообщение от Mitek1977 Посмотреть сообщение
А можно конкретное решение?
А Вы откройте новую тему и там опишите подробнее, что хочется сделать.
И если это редактирование xml, то тему открывайте сразу в разделе про powershell, там быстрее подберётся решение.
0
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 23
01.11.2016, 11:38
А если тут же, только не через PowerShell, а через какой-нибудь редактор XML, например xmlstarlet ?
Я пытался с ним разобраться, но как-то не очень получилось.
в строке
XML Скопировано
1
<Profile><StorageRoot><AcApData><HideableDialogs><HideableDialog id="ScaleList.LargeScaleAlert" title="Масштаб аннотаций — большое количество масштабов" category="Масштаб аннотаций" application="" result="7">
надо заменить result="7" на result="6"
0
 Аватар для volodin661
6332 / 2172 / 341
Регистрация: 10.12.2013
Сообщений: 7,465
01.11.2016, 12:34
powershell - самое правильное инструмент. средство Windows на текущ. момент
и в ближайшем будущем для редактирования xml-файлов.
0
0 / 0 / 0
Регистрация: 06.05.2016
Сообщений: 23
01.11.2016, 12:37
Цитата Сообщение от volodin661 Посмотреть сообщение
powershell - самое правильное инструмент. средство Windows на текущ. момент
и в ближайшем будущем для редактирования xml-файлов.
Создал тему в разделе Powershell.
0
 Аватар для volodin661
6332 / 2172 / 341
Регистрация: 10.12.2013
Сообщений: 7,465
01.11.2016, 12:59
горжусь тобой.
0
 Аватар для tegami
8 / 8 / 5
Регистрация: 21.05.2014
Сообщений: 430
24.03.2018, 13:51
Тема вроде бы похожа, задам здесь, на линуксах есть nano "файл", открываем текстовый файл в консоли и редактируем, есть ли что то подобное на cmd\ps ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2018, 13:51
Помогаю со студенческими работами здесь

Редактирование текстового файла
Здравствуйте, есть текстовый файл для управления программой. Мне нужно найти этом файле определенную переменную и изменить ее...

Редактирование текстового файла
Все привет нужна помощь Задание:Составить программу на языке С++, позволяющую отредактировать заданный с консоли текстовый файл: заменить...

Редактирование текстового файла
Доброго времени суток. Подскажите, пожалуйста, как решить задачу: &quot;Написать функцию, которая удаляет лишние пробелы между словами и...

Редактирование текстового файла
я долго рыскал по форуму но не смог найти. как в текстовом файле найти определенный текст после определенного слова и вывести его в...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
BASH scripting - the best cases [PurpleSchool]
jigi33 08.04.2025
Занятия BASH в PurpleSchool - отличные примеры для внедрения в практику (see screenshots and file names)
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер