Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Vbscript запись текстового сообщения (слова) в файл / 9 сообщений из 9, страница 1 из 1
13.09.2009, 20:30
    #36193149
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Здравствуйте!
Помоги пожалуйста, такая ситуация:
Есть файл (текстовый), в нем нужно найти некое слово (конфиг файл, найти нужно параметр) и заменить его своим значением.
По существу - есть конфиг файл, нужно чтобы скрипт правил старое имя хоста на новое (как взять и вставить новое название хоста и вставить его в конфиг файл я не знаю, знаю только cmd-hostname :)_)
Собственно, хелп :(..?..
...
Рейтинг: 0 / 0
14.09.2009, 02:29
    #36193307
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Читаешь лог построчно, пишешь все строки в другой файл. Если в очередной строке нашлось то что надо поменять, меняешь и пишешь измененную строку.
...
Рейтинг: 0 / 0
14.09.2009, 11:36
    #36193722
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
White OwlЧитаешь лог построчно, пишешь все строки в другой файл. Если в очередной строке нашлось то что надо поменять, меняешь и пишешь измененную строку.
Здравствуйте!
Как вариант:

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("Test.txt", ForReading)

Do Until objFile.AtEndOfStream
strLine1 = objFile.ReadLine
If InStr(strLine1,"Слово") Then
strDuplicateLine = Replace(strDuplicateLine, "Слово", "Замена")
End If
Loop

objFile.Close

Set objFile = objFSO.OpenTextFile("Test.txt", ForWriting)
objFile.Write strText
objFile.Close

Вопрос - что не так? :( Скрипт просто стирает все что есть в текстовом файле..
...
Рейтинг: 0 / 0
14.09.2009, 12:04
    #36193791
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Разобрался с основным, немогу только вставить запись имени ПК (т.е. слово "Замена" нужно заменить на ComputerName,")

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("Test.txt", ForReading)

strText = objFile.ReadAll
objFile.Close

strOldText = "Слово"
strNewText = "Замена"

strNewText = Replace(strText, strOldText, strNewText)

Set objFile = objFSO.OpenTextFile("Test.txt", ForWriting)
objFile.WriteLine strNewText
objFile.Close

============== Имя пк ===============
dim objnet
Set objnet = wscript.CreateObject("wscript.network")
wscript.echo "" & objNet.ComputerName,""

Подскажите пожалуйста, как можно вставить имя пк в "Заменяемую" запись???
...
Рейтинг: 0 / 0
14.09.2009, 15:11
    #36194352
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Так не работает?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
dim objnet
Set objnet = wscript.CreateObject("wscript.network")
wscript.echo "" & objNet.ComputerName,""

Const ForReading =  1 
Const ForWriting =  2 

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\Documents and Settings\user\Desktop\test.txt", ForReading)

strText = objFile.ReadAll
objFile.Close

strOldText = "111"
strNewText = objNet.ComputerName

strNewText = Replace(strText, strOldText, strNewText)

Set objFile = objFSO.OpenTextFile("c:\Documents and Settings\user\Desktop\test.txt", ForWriting)
objFile.WriteLine strNewText
objFile.Close
...
Рейтинг: 0 / 0
14.09.2009, 15:26
    #36194421
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Hugo121Так не работает?
Спасибо за отклик! Нет, Ваш вариант не работает :(
Т.е. выскакивает попап, который определяет имя пк, но в текстовый файл это самое имя не записывается, связка - найти текст "111" и заменить его на "objNet.ComputerName" ни к чему не приводит..
...
Рейтинг: 0 / 0
14.09.2009, 15:36
    #36194448
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
У меня работает...
user поменял? 111 в тексте есть? сам файл на десктопе есть?
...
Рейтинг: 0 / 0
14.09.2009, 15:44
    #36194474
Alexsz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Hugo121У меня работает...
user поменял? 111 в тексте есть? сам файл на десктопе есть?
Заработало, подлянка была в том что запускал на висте, которую уже давно сносить надо!
Большое спс за переделанный скрипт :)
Тему можно закрывать!
...
Рейтинг: 0 / 0
15.09.2009, 09:20
    #36195657
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbscript запись текстового сообщения (слова) в файл
Кстати, WriteLine добавляет в конец файла перевод строки, файл становится длиннее, может быть критично в других случаях.
objFile.Write strNewText - так файлы идентичны (за исключением замены, естественно)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Vbscript запись текстового сообщения (слова) в файл / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]