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

Название темы: [решено] Замена строк.
Показать сообщение отдельно

Ветеран


Contributor


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

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


angel_lyucifer, У Вас в файле присутствуют строки с >9000 символов. Я не знаю, как в CMD это обработать. VBS работает нормально.
Цитата angel_lyucifer:
Из бат скрипта сложно передавать строку из переменной %SLOGIN% в vbs-скрипт... »
- элементарно, Ватсон!
Вот экзотический способ: батник генерирует vbs-скрипт с нужным путём, запускает его, после работы удаляет. Радость в том, что не надо иметь отдельный vbs-файл
Код: Выделить весь код
@Echo Off

>"%~dpnx0.vbs" echo Set WSS = CreateObject("WScript.Shell")

>>"%~dpnx0.vbs" echo File_In = "%AppData%\Skype\%SLOGIN%\config.xml"
>>"%~dpnx0.vbs" echo         'MsgBox File_In
>>"%~dpnx0.vbs" echo         File_In = "Z:\Box_In\config.xml"  ''''''''''''

>>"%~dpnx0.vbs" echo File_Out = File_In
>>"%~dpnx0.vbs" echo         File_Out = "Z:\Box_In\config.xml.vbs.tmp"   ''''''''''''

>>"%~dpnx0.vbs" echo ReMass = Array( _
>>"%~dpnx0.vbs" echo     "<AdvertPlaceholder>1</AdvertPlaceholder>", _
>>"%~dpnx0.vbs" echo     "<AdvertPlaceholder>0</AdvertPlaceholder>", _
>>"%~dpnx0.vbs" echo     "<AdvertEastRailsEnabled>1</AdvertEastRailsEnabled>", _
>>"%~dpnx0.vbs" echo     "<AdvertEastRailsEnabled>0</AdvertEastRailsEnabled>" _
>>"%~dpnx0.vbs" echo )
>>"%~dpnx0.vbs" echo N1 = LBound(ReMass)
>>"%~dpnx0.vbs" echo N2 = UBound(ReMass)

>>"%~dpnx0.vbs" echo Set FSO = CreateObject("Scripting.FileSystemObject")
                                                                                        
>>"%~dpnx0.vbs" echo Set NFile = FSO.OpenTextFile(File_In, 1, False)
>>"%~dpnx0.vbs" echo     S = NFile.ReadAll
>>"%~dpnx0.vbs" echo NFile.Close

>>"%~dpnx0.vbs" echo For i = N1 To N2 Step 2
>>"%~dpnx0.vbs" echo     S = Replace(S, ReMass(i), ReMass(i + 1))
>>"%~dpnx0.vbs" echo Next

>>"%~dpnx0.vbs" echo Set NFile = FSO.OpenTextFile(File_Out, 2, True)
>>"%~dpnx0.vbs" echo     NFile.Write S
>>"%~dpnx0.vbs" echo NFile.Close

Call wscript "%~dpnx0.vbs"
del "%~dpnx0.vbs"

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


Последний раз редактировалось megaloman, 20-02-2017 в 23:11.


Отправлено: 22:26, 20-02-2017 | #14

Название темы: [решено] Замена строк.