Добрый день!
AutoIt
v3.3.16.1
Нашел на сайте скрипт по копированию необходимых строк в отдельный txt, но мне необходимо еще обрезать значения справа и слева у вставленных значений, пробовал напрямую, не получилось, пришлось чуть переделать его и добавить туда же и создается 2 файла, но работает) Сейчас пытался добавить также во вставленных и обрезанных значениях замену знаков "< на <", "> на >", а amp; совсем удалить, через StringRegExpReplace , но не получилось. Так же пытался добавить работу в папке, потому что файлов много и я просто менял в самом начале имя файла, но тоже не заработало.
Поэтому просьба помочь, улучшить скрипт, сделать чтобы при запуске скрипта он находил по всем файлам формата XML в папке строки, в которых есть <boxnumber>, потом копировал их в один файл txt, там обрезал слева 23 символа и справа 12 символов, и затем если найдет эти символы < и > заменял в строках "< на <", "> на >" , а amp; удалял совсем.
Мой скрипт
AutoIt
v3.3.16.1
Нашел на сайте скрипт по копированию необходимых строк в отдельный txt, но мне необходимо еще обрезать значения справа и слева у вставленных значений, пробовал напрямую, не получилось, пришлось чуть переделать его и добавить туда же и создается 2 файла, но работает) Сейчас пытался добавить также во вставленных и обрезанных значениях замену знаков "< на <", "> на >", а amp; совсем удалить, через StringRegExpReplace , но не получилось. Так же пытался добавить работу в папке, потому что файлов много и я просто менял в самом начале имя файла, но тоже не заработало.
Поэтому просьба помочь, улучшить скрипт, сделать чтобы при запуске скрипта он находил по всем файлам формата XML в папке строки, в которых есть <boxnumber>, потом копировал их в один файл txt, там обрезал слева 23 символа и справа 12 символов, и затем если найдет эти символы < и > заменял в строках "< на <", "> на >" , а amp; удалял совсем.
Мой скрипт
Код:
$source = FileOpen("vishnia.xml") ;
$dest = FileOpen("dest.txt", 2) ;
$template = "<boxnumber>"
While 1
$str = FileReadLine($source)
If @error = -1 Then ExitLoop
If StringRegExp($str, $template) = 1 Then
FileWriteLine($dest, $str)
EndIf
WEnd
FileClose($source)
FileClose($dest)
$source1 = FileOpen("dest.txt") ;
$dest2 = FileOpen("dest2.txt", 2) ;
$template2 = "<boxnumber>"
While 1
$str2 = FileReadLine($source1)
If StringRegExp($str2, $template) = 1 Then
$str2 =StringTrimRight($str2,12)
$str2 =StringTrimLeft($str2,23)
FileWriteLine($dest2, $str2)
EndIf
WEnd
FileClose($source1)
FileClose($dest2)