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

Запись в текстовый файл

24.09.2013, 22:53. Показов 10751. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Подскажите пожалуйста, как добавить определенный текст(с клавиатуры) в n-ю строку текстового файла.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2013, 22:53
Ответы с готовыми решениями:

Запись в текстовый файл на удалённой машине
Здравствуйте. Хочу написать батник который добавляет\удаляет нужные мне строки в текстовом файле(например "host"). У меня есть...

Запись выполнения команды в текстовый файл
Как записать все что выводит команда в бат файле в текстовый файл

Запись вывода команды Telnet в текстовый файл
Помогите написать батник. Есть АТС, с нее отчет можно снимать через телнет. Что получаем cmd открываеться командная стркоа telnet...

9
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.09.2013, 01:45
-=FoBoS=-, добавить в конец этой строки или с заменой?
0
2 / 2 / 0
Регистрация: 28.07.2011
Сообщений: 35
25.09.2013, 10:53  [ТС]
Dragokas, в конец определенной строки, она по идее должна быть пуста
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
25.09.2013, 16:30
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
setlocal enabledelayedexpansion
set /p file=Введите имя файла без кавычек:
set /p n=Введите номер строки:
set /p t=Введите строку^>
call :ReadTo "%file%" _str c
set /a x=%n%+1
set /a z=%n%-1
(for /l %%A IN (1,1,%z%) DO @(echo.!_str.%%A!))>"%file%"
echo.!_str.%n%!%t%>>"%file%"
for /l %%A IN (%x%,1,%c%) DO (echo.!_str.%%A!>>"%file%")
echo.Завершено...
pause
exit /b
 
:ReadTo
for /f "usebackq tokens=*" %%A IN (`find /C /V ""^<"%~1"`) DO (set %~3=%%A)
(for /L %%A IN (1,1,!%~3!) DO (set %~2.%%A=&set /p %~2.%%A=))<"%~1"
exit /b
Добавлено через 3 минуты
Да, сохранять как CP866
2
2 / 2 / 0
Регистрация: 28.07.2011
Сообщений: 35
25.09.2013, 20:13  [ТС]
Спасибо большое. А можно этот код как-то упростить, например задав в нем статично все параметры которые мы передает в переменные(номер строки, файл, строку которую нужно ввести)
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.09.2013, 21:37
Цитата Сообщение от FraidZZ Посмотреть сообщение
:ReadTo
FraidZZ, я бы назвал это :FiletoArray

Добавлено через 11 минут
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
setlocal enabledelayedexpansion EnableExtensions
 
::Задаем имя файла
set file=my.txt
:: Задаем номер строки
set n=3
:: Задаем текст для замены
set newtext=Замена
 
For /F "UseBackQ delims=" %%? in ("%file%") do Set /A C+=1& if !C! LSS %n% echo=%%?>>"%file%_"
echo=%newtext%>>"%file%_"
set /A n=+1
more +%n% < "%file%" >> "%file%_"
move /y "%file%_" "%file%"
Поясняю. Наши с FraidZZ, алгоритмы работают абсолютно по-разному.
FraidZZ, читает весь файл в массив и работает с ним, не создавая временный файл. При этом к строке N дописывается инфа.
В моем коде сначала создается временный файл = файл_ (со знаком подчеркивания), а строка № N полностью стирается с заменой на указанный текст.

Цитата Сообщение от -=FoBoS=- Посмотреть сообщение
например задав в нем статично все параметры которые мы передает в переменные
Замените по коду все соответствующие переменные file, n, t на нужные значения, стерев строки №№ 3,4,5. Сэкономите ровно на 3-х строках
1
2 / 2 / 0
Регистрация: 28.07.2011
Сообщений: 35
26.09.2013, 00:10  [ТС]
Спасибо большое за помощь.

Добавлено через 1 час 4 минуты
Dragokas, по моему строка
Bash
1
more +%n% < "%file%" >> "%file%_"
тут не нужна
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
26.09.2013, 12:02
Эта команда тянет строки, начиная с N + 1
0
2 / 2 / 0
Регистрация: 28.07.2011
Сообщений: 35
26.09.2013, 12:25  [ТС]
Dragokas, мне просто кажется, что она дублирует строку
Bash
1
move /y "%file%_" "%file%"
и поэтому в файл место одной нужно строки записывается сразу 2
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
26.09.2013, 14:05
Не из-за того.
Удалите строку № 13.
Строку № 11 для большей надежности замените на:
Bash
1
For /F "tokens=1* delims=]" %%A in ('find /V /N "" ^< "%file%"') do Set /A C+=1& if !C! LSS %n% echo=%%B>> "%file%_"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2013, 14:05
Помогаю со студенческими работами здесь

Запись в текстовый файл сведений о сотрудниках организации
Помогите Пожалуйста!!! Как Создать BAT 1. создает файл file.txt для записи следующих сведений о сотрудниках организации - ФИО, Год...

Считывание имени файла и его запись в текстовый файл
Привет всем. Задача: В папке есть много .xml-файлов, каждый их которых надо скопировать в подпапку с идентичным названием (то...

Запись результата выполнения команды IPCONFIG в текстовый файл
я создаю батник так ipconfig/all&gt; 1.txt Вопрос в следующем как задать кодировку что бы записывались русские символы.

Запись текущих IP и MAC сетевой карты в текстовый файл
День добрый ! Помогите с реализацией батника Сетевое соединение на компе называется &quot;LocalNet&quot; при запуске батника...

Запись вывода результата выполнения команды ping в текстовый файл в нужной кодировке
Собственно для запоминания результата пинга в тхт использую следующюю команду: ping google.com &gt; *.txt (например) и вместо текста я в...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru