VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Ответить
 • Просмотры: 1
Аватара пользователя
Hraniti

VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Hraniti »

Здравствуйте, пытаюсь реализовать скрипт который будет находить нужное мне значение например 1134 и заменять на 1401 при условии что 1134 должно находится между dota_camera_pitch_max и dota_camera_distance.





Код:

Код: Выделить всё

Const ForReading = 1 
Const ForWriting = 2 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("C:\1111\client.dll", ForReading) 
strText = objFile.ReadAll 
objFile.Close 
strNewText = Replace(strText, "1134", "1401") 
Set objFile = objFSO.OpenTextFile("C:\1111\client.dll", ForWriting) 
objFile.WriteLine strNewText 
objFile.Close

На текущий момент есть первая версия скрипта, но не знаю как сделать условия? что бы значение менялось только в указанных рамках?
Аватара пользователя
Iska

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Iska »

Hraniti, лучше не пытайтесь работать таким кодом с бинарными файлами, коими являются библиотеки.



Как надо:берёте конкретную версию библиотеки;берёте правильный hex-редактор;открываете в нём библиотеку;ищете потребное значение и находите;делаете потребную замену;на основе сделанной замены создаёте патч для исходной библиотеки.
Аватара пользователя
Hraniti

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Hraniti »

Iska, Спасибо что помогаете. вот скриншот
Вложения

[Расширение png было запрещено, вложение больше недоступно.]

Аватара пользователя
Iska

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Iska »

Iska, Я понимаю что не надо, но давайте попробуем реализовать как я прошу попробовать. Ну если есть возможность можете более детальней объяснить как сделать эту надобность.
Аватара пользователя
YuS_2

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение YuS_2 »

Hraniti, упаковываете Вашу библиотеку в архив, каковой прикладываете к сообщению. Если сюда не помещается — выкладываете на
DropMeFiles
.
Аватара пользователя
Iska

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Iska »

megaloman,





Код:

Код: Выделить всё

Const ForReading = 1 
Const ForWriting = 2 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\dota\bin\win64\client.dll", ForReading) 
lstrText = LCase(strText)
marg1 = InStr(1, lstrText, "dota_camera_pitch_max")
marg2 = InStr(1, lstrText, "dota_camera_distance")
repstr = Mid(strText, marg1, marg2 - marg1)
strNewText = Replace(strText, repstr, Replace(repstr, "1134", "1401"))
Set objFile = objFSO.OpenTextFile("C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\dota\bin\win64\client.dll", ForWriting) 
objFile.WriteLine strNewText 
objFile.Close

Пишет ошибку
Аватара пользователя
megaloman

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение megaloman »

Hraniti, Если тупо решать задачу как поставлено (Iska наверняка прав!) то вместо Вашего реплэйса

Код:

Код: Выделить всё

lstrText = LCase(strText)
marg1 = InStr(1, lstrText, "dota_camera_pitch_max")
marg2 = InStr(1, lstrText, "dota_camera_distance")
repstr = Mid(strText, marg1, marg2 - marg1)
strNewText = Replace(strText, repstr, Replace(repstr, "1134", "1401"))

Если 1134 между указанными строками встречается многократно, то заменятся все.
Аватара пользователя
Hraniti

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Hraniti »

Iska, Я понимаю что не надо, но давайте попробуем реализовать как я прошу попробовать. Ну если есть возможность можете более детальней объяснить как сделать эту надобность.
Аватара пользователя
Hraniti

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Hraniti »

Hraniti, упаковываете Вашу библиотеку в архив, каковой прикладываете к сообщению. Если сюда не помещается — выкладываете на
DropMeFiles
.
Аватара пользователя
Hraniti

Re: VBS/WSH/JS - Замена текста с помощью VBScript при условии?!

Сообщение Hraniti »

Цитата Hraniti:



Вот собственно сам файл
https://yadi.sk/d/q-nkzoD_3a692L
VBS/WSH/JS - Замена текста с помощью VBScript при условии?!




Дружище, попробуйте, ради интереса, сами найти в нём dota_camera_pitch_max и dota_camera_distance. Или хотя бы одно из них.
Вложения

[Расширение jpg было запрещено, вложение больше недоступно.]

Ответить

Вернуться в «Скриптовые языки администрирования Windows»