http://bbs.vbstreets.ru/viewtopic.php?t=1690
(Убрать пробелы в большом файле используя VBScript)
Желающих помочь оказалось немного, поэтому пришлось ковыряться самому
Наковырял (не без помощи http://sharig.webzone.ru/) следующее:
- Код: Выделить всё
Set FSys = CreateObject("Scripting.FileSystemObject")
Set qn = FSys.GetFile("D:\data\proxystats\access2.log")
FileSize1=qn.Size
Function ReplaceAll(SourceString, ReplaceThis, WithThis)
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("D:\data\proxystats\access2.log", 1)
SourceString=file.readall()
ReplaceThis=" "
WithThis =" "
Dim Temp
Temp = Split(SourceString, ReplaceThis)
ReplaceAll = Join(Temp, WithThis)
End Function
Do
Dim strAfter
strAfter=ReplaceAll(SourceString, ReplaceThis, WithThis)
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("D:\data\proxystats\access2.log", 2, true)
file.WriteLine(strAfter)
Set FSys2 = CreateObject("Scripting.FileSystemObject")
Set qn2 = FSys2.GetFile("D:\data\proxystats\access2.log")
FileSize2=qn2.Size
Loop while FileSize1 > FileSize2
Проблема:
Выполняется долго. Делает все что нужно (пробелы удоляются), но висит в списке задач минут 10 и ест 99% CPU. Кажется, что что-то не так с Loop...
Вопрос:
Что еще в коде "не так"?
Может можно что изменить/улучшить
Спасибо!