sovadak
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору И вроде уже нашел работающее решение: Код: InName = "c:\ComAgentWC.ini" Str1 = "ServerUrl=" Set InArg=WScript.Arguments EqStr1 = InArg(0) Set FSO = CreateObject("Scripting.FileSystemObject") Set InFile = FSO.OpenTextFile(InName, 1, False) AllStr = InFile.ReadAll InFile.Close AllStr = Replace(AllStr, Chr(10), "") Mass = Split(AllStr, Chr(13)) i1 = LBound(Mass) i2 = UBound(Mass) Call ModiIniSub(Mass, i1, i2, Str1, EqStr1) Set InFile = FSO.OpenTextFile(InName, 2, False) For i = i1 To i2 If i <> i2 Then InFile.WriteLine Mass(i) Else InFile.Write Mass(i) End If Next InFile.Close Sub ModiIniSub(Mass, i1, i2, Stroka, EqStroka) LStroka = Len(Stroka) For i = i1 To i2 If Mid(Mass(i), 1, LStroka) = Stroka Then Mass(i) = Stroka + EqStroka Exit For End If Next End Sub | Запускаю через цмд: Код: script.vbs " указываю новый путь" | Но есть одно большое но. Файлик который нужно изменить, лежит в: %appdata%\ComAgent\WCIM\ Если я так указываю путь, но скрипт не выполняется, т.е. использоватьь переменную нельзя. Нужно допилить существующий скрипт, кто может, помогите плиз. sergarbru, по-мойму это не совсем то, из написанного выше. Как уже можно было догадаться, скрипт будет применяться к пользователям домена, поэтому использование этой переменной обязательно. Немного прикинул, подумал, и написал следующее: Код: Set WshShell = WScript.CreateObject("WScript.Shell") strAppData = WSHShell.SpecialFolders("AppData") Str1 = "ServerUrl=" Set InArg=WScript.Arguments EqStr1 = InArg(0) Set FSO = CreateObject("Scripting.FileSystemObject") Set InFile = FSO.OpenTextFile(strAppData+"\ComAgent\WCIM\ComAgentWC.ini", 1, False) AllStr = InFile.ReadAll InFile.Close AllStr = Replace(AllStr, Chr(10), "") Mass = Split(AllStr, Chr(13)) i1 = LBound(Mass) i2 = UBound(Mass) Call ModiIniSub(Mass, i1, i2, Str1, EqStr1) Set InFile = FSO.OpenTextFile(strAppData+"\ComAgent\WCIM\ComAgentWC.ini", 2, False) For i = i1 To i2 If i <> i2 Then InFile.WriteLine Mass(i) Else InFile.Write Mass(i) End If Next InFile.Close Sub ModiIniSub(Mass, i1, i2, Stroka, EqStroka) LStroka = Len(Stroka) For i = i1 To i2 If Mid(Mass(i), 1, LStroka) = Stroka Then Mass(i) = Stroka + EqStroka Exit For End If Next End Sub | ПЫ.СЫ. Я не программер, поэтому возможно получилось слишком сложно, однако у меня работает. Буду тестить дальше. Поправьте если где-то не прав. | Всего записей: 111 | Зарегистр. 18-09-2009 | Отправлено: 13:11 10-12-2013 | Исправлено: sovadak, 13:27 10-12-2013 |
|