|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] изменить несколько строк в файле |
|
CMD/BAT - [решено] изменить несколько строк в файле
|
Новый участник Сообщения: 38 |
Профиль | Отправить 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 |
|
Отправлено: 18:40, 25-06-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата man8531:
|
|
Отправлено: 21:00, 25-06-2018 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Iska,
я сторонник встроенных в систему средств. если так не получается, то пусть не будет никак. вопрос данный не настолько критичен, чтобы к нему проявлять слишком должного внимания. опенвпн у меня стоит всего на пяти машинах - ручками настрою. |
Отправлено: 21:42, 25-06-2018 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать man8531, а что мешает положить тот же sed с библиотеками на тот же самый носитель, с которого Вы будете делать автоустановку, и пользоваться? Ровно так же, как Вы наверняка пользуете и другие сторонние средства для автоустановки? Ничего не мешает.
|
Отправлено: 21:51, 25-06-2018 | #13 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Цитата Iska:
но, если есть у кого желание возиться с sed, то я непременно возьму это средство на вооружение. можете даже на повер шелл написать, так как неминуемо близится конец для машин с Windows XP. |
|
Отправлено: 05:11, 26-06-2018 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать man8531, я тут подумал о паре вещей:
|
Отправлено: 05:36, 26-06-2018 | #15 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Iska,
1. ничто не мешает 2. можем наплевать |
Отправлено: 07:00, 26-06-2018 | #16 |
Ветеран Сообщения: 2709
|
Профиль | Отправить PM | Цитировать man8531,
Попробуйте .vbs
Set FSO = CreateObject("Scripting.FileSystemObject")
FileIn = FSO.GetParentFolderName(WScript.ScriptFullName) + "\other\openvpn\conf\client.ovpn"
FileOut = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%PROGRAMFILES%") + "\OpenVPN\config\client.ovpn"
' MsgBox FileIn + vbCrLf + FileOut
ComputerName = CreateObject("WScript.Network").ComputerName
Dim What(2), Rep(2)
What(0) = "ipaddress"
What(1) = "user.crt"
What(2) = "user.Key"
Rep(0) = "192.168.0.1 1194"
Rep(1) = ComputerName + ".crt"
Rep(2) = ComputerName + ".key"
' MsgBox What(0) + vbTab + Rep(0) + vbCrLf + What(1) + vbTab + Rep(1) + vbCrLf + What(2) + vbTab + Rep(2)
Set fIn = FSO.OpenTextFile(FileIn, 1, False) ', -2)
Alls = fIn.ReadAll
fIn.Close
For i = 0 To UBound(What)
Alls = Replace(Alls, What(i), Rep(i))
Next
Set fIn = FSO.CreateTextFile(FileOut, True)
fIn.Write Alls
fIn.Close
|
------- Последний раз редактировалось megaloman, 26-06-2018 в 15:58. Отправлено: 09:57, 26-06-2018 | #17 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать megaloman,
да, всё прекрасно работает, спасибо! |
Отправлено: 11:42, 26-06-2018 | #18 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать megaloman,
вот ведь какая незадача: переместил я скрипт в папку script и он не может найти тот конфигурационный файл, тк в качестве корневого каталога он уже задаёт каталог script. как сделать так, чтобы он в качестве корня каталога всегда выбирал каталог autoinstall? в этом каталоге и расположены все остальные. конкретный путь не подойдёт, так как хочется, чтобы каталог был перемещаем и всё в нём работало. |
Отправлено: 12:35, 26-06-2018 | #19 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать man8531, покажите структуру каталогов. Конкретно интересует взаиморасположение каталогов script и other\openvpn\conf.
|
Отправлено: 14:02, 26-06-2018 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|