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

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

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

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


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

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


всем привет
не получается изменить три строки в файле конфигурации по найденному в сети батнику:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
Set infile=%~dp0\other\openvpn\conf\client.ovpn
Set infileout="%ProgramFiles%\OpenVPN\config\client.ovpn"
Set findip=ipaddress
Set findcrt=user.crt
Set findkey=user.key
Set replaceip=192.168.0.1 1194
Set replacecrt=%computername%.crt
Set replacekey=%computername%.key
@echo off
setlocal enabledelayedexpansion
set COUNT=0
for /F "tokens=* delims=" %%n in (!infile!) do (
set LINE=%%n
set TMPR=!LINE:%findip%=%replaceip%!
Echo !TMPR!>>TMP.TXT
)
move /Y TMP.TXT %infileout%
exit
как заставить этот батник искать строки указанные в переменных replacekey и replacecrt и вносить это в итоговый файл?

Отправлено: 18:40, 25-06-2018

 

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


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

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


пытался переменным TMPR присвоить эти значения переменных replacekey, но не получается вывести всё это в файл - он затраивает строки.

Отправлено: 18:55, 25-06-2018 | #2



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

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


Ветеран


Contributor


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

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


man8531, Здесь решалась подобная задача
Но, однако, хотелось бы видеть исходный файл полностью, и, если возможно, переименуйте его в .txt и предоставьте для возможности предметного ответа. Подробнее опишите, что надо менять.

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


Последний раз редактировалось megaloman, 25-06-2018 в 19:19.

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

Отправлено: 19:13, 25-06-2018 | #3


Ветеран


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

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


Цитата megaloman:
хотелось бы видеть исходный файл полностью, »
man8531, именно так: упакуйте Ваш файл конфигурации в архив и прикрепите последний к сообщению.

Отправлено: 19:22, 25-06-2018 | #4


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


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

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


Вложения
Тип файла: zip client.zip
(1.1 Kb, 6 просмотров)

файл во вложении

Отправлено: 19:26, 25-06-2018 | #5


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


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

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


Цитата megaloman:
Подробнее опишите, что надо менять. »
необходимо заменить в файле конфигурации: ip адрес - с переменной findip на replaceip; имя сертификата - переменная findcrt на replacecrt; имя ключа - переменная findkey на replacekey

Отправлено: 19:31, 25-06-2018 | #6


Ветеран


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

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


man8531, Ваш файл конфигурации — в кодировке UTF-8 без BOM и с концами строк в формате Unix. Вас устроит PowerShell?

Отправлено: 19:54, 25-06-2018 | #7


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


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

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


Цитата Iska:
Вас устроит PowerShell? »
если это будет прекрасно работать в Windows ХР и будет возможно запустить с основного батника автоустановки программ, то - да, пойдёт.

Отправлено: 19:57, 25-06-2018 | #8


Ветеран


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

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


Цитата man8531:
если это будет прекрасно работать в Windows ХР »
Прекрасно — не будет. По умолчанию там вообще нет PowerShell, и максимальная версия, которую можно установить на Windows XP — 2.0.

Цитата man8531:
если нужно, я смогу переделать файл, как Вам удобнее. »
А причём тут — переделать? Есть файл определённого формата, и работать надо с ним.

В общем, я не знаю, что Вам тут посоветовать. Разве что портированный под Windows sed использовать. Ни пакетные файлы, ни, скорее всего, WSH в данном случае (при условии сохранения оригинального формата файла) не помогут.

Отправлено: 20:05, 25-06-2018 | #9


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


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

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


Цитата Iska:
В общем, я не знаю, что Вам тут посоветовать. »
хорошо, я Вас понял. значит будем некоторые моменты корректировать ручками. не всё коту масленица
спасибо

Отправлено: 20:13, 25-06-2018 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Изменение строк в файле Nikugorsk Скриптовые языки администрирования Windows 13 08-06-2018 18:32
CMD/BAT - Найти текст в файле и вставить над ним несколько строк Sergey.l Скриптовые языки администрирования Windows 7 28-01-2018 23:06
CMD/BAT - [решено] Найти текст в файле и вставить над ним несколько строк Sergey.l Скриптовые языки администрирования Windows 5 27-12-2017 18:47
CMD/BAT - Нумерация строк в файле ВиталийВ Скриптовые языки администрирования Windows 2 25-09-2015 19:06
VBS/WSH/JS - Удаление строк в REG файле gen0m.rsw Скриптовые языки администрирования Windows 9 28-09-2011 18:03




 
Переход