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

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

Ответить
Настройки темы
CMD/BAT - замена строки в текстовом файле.

Новый участник


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

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


Здравствуйте, интересует вопрос, можно ли bat-ником редактировать Н строку в тексте?

Вот пример файл addy.txt, вот содержимое:
Код: Выделить весь код
0.0 0 0 
248.676865 90912364 53502936
Где вторая строка не должна быть затронута, а первая строка независимо от написанно замениться на указанный мной текст. Соответственно перезаписав файл\сохранив файл?

Я вообще в этом не разбираюсь и решение для такого в интернете не нашел.

Отправлено: 19:41, 09-10-2017

 

Аватара для Казбек

Ветеран


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

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


Цитата modzilla:
решение для такого в интернете не нашел. »
С помощью Power Shell:+ Replace text at specific line number with other text using notepad++

-------
Кто реку перешел, тому росы бояться ни к чему

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

Отправлено: 20:38, 09-10-2017 | #2



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

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


Ветеран


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

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


modzilla,
если никаких спецсимволов в строках нет, то можно так:
Код: Выделить весь код
@echo off
set "f=addy.txt"
echo Введите строку для замены:
set /p str=
<"%f%">$ (echo %str%& (for /f "delims=" %%a in ('more +1') do @echo %%a))& >nul move $ "%f%"
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:08, 09-10-2017 | #3


Новый участник


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

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


Код: Выделить весь код
@echo off
set "H:/addy.txt"
echo 248.676865 90912364 53502936:
set /p str=
<"%f%">$ (echo %str%& (for /f "delims=" %%a in ('more +1') do @echo %%a))& >nul move $ "%f%"
pause
переменная среды h:/addy.txt не определена
248.676865 90912364 53502936:

Отправлено: 22:00, 09-10-2017 | #4


Ветеран


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

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


Цитата modzilla:
переменная среды h:/addy.txt не определена »
Сравните:
Цитата alpap:
set "f=addy.txt" »
Цитата modzilla:
set "H:/addy.txt" »
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:03, 09-10-2017 | #5


Новый участник


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

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


я понял. исправил, думал то местонахождение должно быть
Код: Выделить весь код
@echo off
set "f=addy.txt"
echo 301.049835 90414396 30817092:
set /p str=
<"%f%">$ (echo %str%& (for /f "delims=" %%a in ('more +1') do @echo %%a))& >nul move $ "%f%"
pause
не заменяет

Отправлено: 22:19, 09-10-2017 | #6


Ветеран


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

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


Цитата modzilla:
думал то местонахождение должно быть »
Ничто не мешает указать и местонахождение:
Код: Выделить весь код
set "f=h:\addy.txt"
Цитата modzilla:
не заменяет »
Описывайте подробно, что и как делали, что получилось в итоге.

Отправлено: 22:33, 09-10-2017 | #7


Новый участник


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

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


в окошке пишет только 301.049835 90414396 30817092: и всё, больше ничего

Отправлено: 22:39, 09-10-2017 | #8


Ветеран


Contributor


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

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


alpap, Если надо заменить только первую строку и если всё равно используется вспомогательный файл, можно и без For, и это надёжнее:
Код: Выделить весь код
@Echo Off

Set "Modify=Z:\Box_In\addy.txt"

Set "$=%Modify%.tmp"
Set /P First=Введите строку для замены:  

If Not "%First%"=="" (Echo %First%>"%$%"& More +1 "%Modify%">>"%$%"&&Move /Y "%$%" "%Modify%" >nul 2>&1)
modzilla, Результат смотрите в исходном файла - первая строка заменится, если Вы на запрос ввели строку для замены.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 09-10-2017 в 23:39.

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

Отправлено: 23:30, 09-10-2017 | #9


Ветеран


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

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


Цитата modzilla:
в окошке пишет только 301.049835 90414396 30817092: и всё, больше ничего »
Это не есть «подробно, что и как делали», коллега.

Отправлено: 23:32, 09-10-2017 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Отсортировать строки в текстовом файле blackeangel Программирование и базы данных 4 10-01-2017 11:31
CMD/BAT - [решено] удалить пусты строки в текстовом файле warkdimka Скриптовые языки администрирования Windows 8 19-02-2016 15:31
VBS/WSH/JS - поиск значения в текстовом файле и выбор данной строки God-of-Chaos Скриптовые языки администрирования Windows 10 07-06-2015 19:06
VBS/WSH/JS - Поиск\редактирование строки в текстовом файле pavvel Скриптовые языки администрирования Windows 2 11-04-2012 16:38
CMD/BAT - [решено] Заменить строки в текстовом файле aos Скриптовые языки администрирования Windows 3 10-02-2012 14:45




 
Переход