Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 49
1

Редактирование текстовых файлов в cmd

29.10.2014, 13:38. Показов 4163. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, коллеги.

Есть простенькая задача, которую можно запилить через cmd.
Беда в том, что я пока совершенно не сталкивался с командной строкой в работе, но хочется на примере разобраться и понять.

Итак: есть папка in, в которой лежит произвольное количество текстовых файлов с произвольным наполнением.
Необходимо:

вариант А: создать в папке out такие же файлы с такими же именами, но в начале текста каждого из них первой строкой добавить имена каждого файла без расширения, а в конце - последней строкой добавить текст "end of file".

вариант B: создать в папке out 1 файл с именем состоящем из текущей даты, в котором должен содержаться такой текст: первой строкой - имя этого файла (дата), затем тексты из всех файлов папки in, разделенные строками со знаком "/" в том порядке, в котором они лежат в папке, а в конце, последней строкой текст "end of file".

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

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

Редактирование текстовых файлов
допустим имеется текстовой файлик содержащий структурированные данные(к примеру css фаил) надо:...

Подключение текстовых файлов и их редактирование
При объявлении переменной типа ofstream пишет не объявленный идентификатор, использую VS ult 13,...

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

4
Native x86
Эксперт Hardware
5681 / 3415 / 965
Регистрация: 13.02.2013
Сообщений: 10,832
29.10.2014, 13:54 2
Лучший ответ Сообщение было отмечено Dogmat-iGwt как решение

Решение

Цитата Сообщение от Dogmat-iGwt Посмотреть сообщение
вариант А: создать в папке out такие же файлы с такими же именами, но в начале текста каждого из них первой строкой добавить имена каждого файла без расширения, а в конце - последней строкой добавить текст "end of file".
Код
for %%i in (in\*.*) do (
  echo %%~ni > out\%%~ni%%~xi
  type %%i >> out\%%~ni%%~xi
  echo end of file >> out\%%~ni%%~xi
)
Цитата Сообщение от Dogmat-iGwt Посмотреть сообщение
вариант B: создать в папке out 1 файл с именем состоящем из текущей даты, в котором должен содержаться такой текст: первой строкой - имя этого файла (дата), затем тексты из всех файлов папки in, разделенные строками со знаком "/" в том порядке, в котором они лежат в папке, а в конце, последней строкой текст "end of file".
Код
echo %DATE% > out\%DATE%
for %%i in (in\*.*) do (
  type %%i >> out\%DATE%
  echo / >> out\%DATE%
)
echo end of file >> out\%DATE%
Добавлено через 2 минуты
Писал без проверки, но смысл такой.
1
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 49
29.10.2014, 15:09  [ТС] 3
Спасибо, все отлично работает.

Только добавил кое-где echo. для перехода каретки на всякий случай. Получилось так.

Код
for %%i in (in\*.*) do (
  echo %%~ni > out\%%~ni%%~xi
  type %%i >> out\%%~ni%%~xi
  echo. >> out\%%~ni%%~xi
  echo end of file >> out\%%~ni%%~xi
)
Код
echo %DATE% > out\%DATE%.txt
for %%i in (in\*.*) do (
  type %%i >> out\%DATE%.txt
  echo. >> out\%DATE%.txt
  echo / >> out\%DATE%.txt
)
echo end of file >> out\%DATE%.txt
Добавлено через 18 минут
Не записывает в файл строку с амперсантом (&).
Я так понял потому, что он служебный. Как обойти?
0
3461 / 1999 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
29.10.2014, 15:40 4
Цитата Сообщение от Dogmat-iGwt Посмотреть сообщение
Не записывает в файл строку с амперсантом (&).
Я так понял потому, что он служебный. Как обойти?
Bash
1
^&
.
1
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 49
29.10.2014, 18:12  [ТС] 5
Спасибо, теперь все работает как часы.
0
29.10.2014, 18:12
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2014, 18:12
Помогаю со студенческими работами здесь

Редактирование текстовых значенией
Здравствуйте. Понадобилось заменить одно слово в карточке товара - вместо "Купить в 1 клик"...

Редактирование текстовых строк
Всем привет. Нашёл в своих знаниях хороший пробел по работе со строками :) В общем есть...

Редактирование текстовых фраз
Доброго дня. За перевод отвечает WPML. На сайте нужно отредактировать одну текстовую фразу, в том...

Редактирование текстового файла в cmd
Возможно ли это, если да, то каким образом?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как запретить подсветку выделенного текста с помощью CSS
InfoMaster 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения. Выделение текста может. . .
Как выполнить другую программу или системную команду из Python
InfoMaster 20.01.2025
Python предоставляет мощные инструменты для выполнения системных команд и управления внешними процессами, что делает его идеальным выбором для автоматизации различных задач системного. . .
Как узнать директорию bash-скрипта из самого bash-скрипта
InfoMaster 20.01.2025
При разработке bash-скриптов одной из важных задач является определение директории, в которой находится исполняемый скрипт. Это критически важно для корректной работы с файлами, загрузки конфигураций. . .
В чем разница между let и var в JavaScript
InfoMaster 20.01.2025
JavaScript прошел длинный путь эволюции с момента своего создания в 1995 году. Одним из важнейших аспектов развития языка стало совершенствование механизмов объявления и управления переменными. . . .
Эффективная работа со строками в Go
InfoMaster 20.01.2025
Язык программирования Go предлагает уникальный подход к работе со строками, который существенно отличается от многих других языков программирования. В Go строки представляют собой неизменяемые. . .
Как проверить, что отображение (map) содержит ключ в Go
InfoMaster 20.01.2025
Отображения (maps) в языке программирования Go представляют собой мощные структуры данных, которые позволяют хранить пары ключ-значение и обеспечивают быстрый доступ к данным по уникальным. . .
Как организовать домашнее хранилище фильмов с общим доступом для всей семьи
InfoMaster 20.01.2025
Преимущества домашнего медиасервера В современном мире, где цифровой контент стал неотъемлемой частью нашей жизни, организация домашнего медиасервера становится все более актуальной задачей. . . .
Перспективы развития жестких дисков: есть ли у них будущее?
InfoMaster 20.01.2025
История и эволюция жестких дисков История развития жестких дисков начинается в 1956 году, когда компания IBM представила первое устройство для хранения данных на магнитных пластинах - IBM 350. . .
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
Какой язык программировани­я лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru