Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Возможно ли ускорить данный скрипт ? (http://forum.oszone.net/showthread.php?t=256572)

dark-------13 18-03-2013 15:02 2113632

Возможно ли ускорить данный скрипт ?
 
Здравствуйте,
Подскажите пожалуйста, можно ли ускорить данный скрипт ?

Код:

@Echo Off Set infile=obr.xml Set find=^^^<signature^^^> Set replace=^^^<img src="data:image/png;base64, Set find2=^^^</signature^^^> Set replace2=" /^^^> Set find3=^^^<portrait^^^> Set replace3=^^^<img src="data:image/png;base64, Set find4=^^^</portrait^^^> Set replace4=" /^^^>  setlocal enabledelayedexpansion for /F "tokens=* usebackq" %%n in ("!infile!") do (        set LINE=%%n        set LINE=!LINE:%find%=%replace%!        set LINE=!LINE:%find2%=%replace2%!        set LINE=!LINE:%find3%=%replace3%!        set LINE=!LINE:%find4%=%replace4%!        >>"5.txt" echo !LINE! )

gora 19-03-2013 09:43 2114182

Цитата:

Цитата dark-------13
можно ли ускорить данный скрипт ? »

На cmd, вряд ли. Попробуйте на vbs:
Код:

Set FSO = CreateObject("Scripting.FileSystemObject")
infile = "obr.xml"
outfile = "5.txt"
find1 = "<signature>"
replace1 = "<img src=""data:image/png;base64,"
find2 = "</signature>"
replace2 = """ />"
find3 = "<portrait>"
replace3 = "<img src=""data:image/png;base64,"
find4 = "</portrait>"
replace4 = """ />"

strt = Now

Set rd_file = FSO.OpenTextFile(infile, 1,, -2)
Buffer = rd_file.ReadAll
rd_file.Close
size1 = Len(Buffer)

Buffer = Replace(CStr(Buffer), find1, replace1, 1, -1, 1)
Buffer = Replace(CStr(Buffer), find2, replace2, 1, -1, 1)
Buffer = Replace(CStr(Buffer), find3, replace3, 1, -1, 1)
Buffer = Replace(CStr(Buffer), find4, replace4, 1, -1, 1)

Set wr_file = FSO.OpenTextFile(outfile, 2, True)
wr_file.Write Buffer
wr_file.Close
size2 = Len(Buffer)

fnsh = Now

MsgBox "Размер файла до -                " & size1 & vbCr _
        & "Размер файла после -        " & size2 & vbCr _
        & "Время работы -                " & DateDiff("s",strt,fnsh) & " с", 64, "Замены произведены"
WScript.Quit

Файл в 3МБ у меня обрабатывает ~ 1с.

dark-------13 19-03-2013 13:04 2114299

Спасибо большое уважаемый Gora, в очередной раз выручаете меня!

apozlevich 20-03-2013 10:56 2114843

Оптимизировать bat, оптимизировать vbs... Если хотите скорость - пишите на C.


Время: 20:38.

Время: 20:38.
© OSzone.net 2001-