Показать сообщение отдельно

  #33  
Старый 19.01.2009, 20:14
SpangeBoB
Познавший АНТИЧАТ
Регистрация: 12.07.2008
Сообщений: 1,705
Провел на форуме:
5914048

Репутация: 1350


По умолчанию

Чуть по легче скрипт для VBScript.

Цитата:
Const ForReading = 1
Const ForWriting = 2

strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)

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

strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)

Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close
И легко применяется в bat файле.

cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James "

Чтоб не таскать с собой 2 файла можно сделать bat:

Цитата:
@echo off
echo Const ForReading = 1 > replace.vbs
echo Const ForWriting = 2 >> replace.vbs

echo strFileName = Wscript.Arguments(0) >> replace.vbs
echo strOldText = Wscript.Arguments(1) >> replace.vbs
echo strNewText = Wscript.Arguments(2) >> replace.vbs

echo Set objFSO = CreateObject("Scripting.FileSystemObject") >> replace.vbs
echo Set objFile = objFSO.OpenTextFile(strFileName, ForReading) >> replace.vbs

echo strText = objFile.ReadAll >> replace.vbs
echo objFile.Close >> replace.vbs
echo strNewText = Replace(strText, strOldText, strNewText) >> replace.vbs

echo Set objFile = objFSO.OpenTextFile(strFileName, ForWriting) >> replace.vbs
echo objFile.WriteLine strNewText >> replace.vbs
echo objFile.Close >> replace.vbs

cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James ""

del replace.vbs

Последний раз редактировалось SpangeBoB; 19.01.2009 в 20:25..
 
Ответить с цитированием