1

Тема: VBS:как сохранить данные с txt файла?

Здравствуйте, подскажите как сохранить текст из стороннего файл начиная с <html> заканчивая 4000213.
разумеется нужно что бы <html> и 4000213 тоже были в out файле.
Спасибо за внимание.

2

Re: VBS:как сохранить данные с txt файла?

Option Explicit

Dim strSourceFile
Dim strDestFile

Dim strContent


strSourceFile = "E:\Песочница\0409\0001.txt"
strDestFile   = "E:\Песочница\0409\0002.txt"

With WScript.CreateObject("Scripting.FileSystemObject")
    If .FileExists(strSourceFile) Then
        If .FolderExists(.GetParentFolderName(strDestFile)) Then
            With .OpenTextFile(strSourceFile)
                strContent = .ReadAll()
                .Close
            End With
            
            With WScript.CreateObject("VBScript.RegExp")
                .Pattern = ".*?(<html>[\s\S]*4000213).*"
                .IgnoreCase = True
                
                If .Test(strContent) Then
                    strContent = .Execute(strContent).Item(0).Submatches.Item(0)
                End If
            End With
            
            With .CreateTextFile(strDestFile, True)
                .Write strContent
                .Close
            End With
        Else
            WScript.Echo "Destination folder [" & .GetParentFolderName(strDestFile) & "] not exists."
            WScript.Quit 2
        End If
    Else
        WScript.Echo "Source file [" & strSourceFile & "] not found."
        WScript.Quit 1
    End If
End With

WScript.Quit 0

Если нужен не «жадный» поиск (например, не последний найдённый «4000213», а первый), используйте «.Pattern = ".*?(<html>[\s\S]*?4000213).*"».

3

Re: VBS:как сохранить данные с txt файла?

Спасибо большое.

4 (изменено: DarkJoker1992, 2014-11-23 18:05:36)

Re: VBS:как сохранить данные с txt файла?

Подскажите пожалуйста, можно  добавить удаление определённых символов из выходного файла? допустим удалить все @ символы в файле.
Спасибо большое за внимание.
этот код у меня ошибку выдаёт

 With CreateObject("Scripting.FileSystemObject") :
  .OpenTextFile("C:\index.htm", 2, True).Write Replace(.OpenTextFile("C:\code.txt",,,-1).ReadAll, "@", "") :
  End With  :

5

Re: VBS:как сохранить данные с txt файла?

Замените в приведённом мною выше коде «.Write strContent» на «.Write Replace(strContent, "@", "")».

6

Re: VBS:как сохранить данные с txt файла?

Извиняюсь ещё раз, подскажите пожалуйста код,для удаления определённых строк, а то в файле есть несколько окончаний 4000213 и он захватывает то что не нужно. хотелось бы сразу прописать в vbs что бы и удаляла.

7

Re: VBS:как сохранить данные с txt файла?

Чтобы «подсказать код» надо, чтобы:

1. Вы упаковали в архив и выложили на RGhost образец реального файла.
2. Указали принципы — в деталях — по которым будет происходить поиск и отбор информации.

Пока мы вертимся всё вокруг да около непонятно чего.

8

Re: VBS:как сохранить данные с txt файла?

alexii пишет:

Чтобы «подсказать код» надо, чтобы:

1. Вы упаковали в архив и выложили на RGhost образец реального файла.
2. Указали принципы — в деталях — по которым будет происходить поиск и отбор информации.

Пока мы вертимся всё вокруг да около непонятно чего.

реальный образец не могу показать, так как он служит для работы и абсолютно анонимный мы его купили.
Вот пример


<html class="no-js" 
<!--
<globe-environment environment="prod" application="globe" dataCenter="ny" serverName="nyglobe1" />
<globe-server version="1.14.0" vendor="" title="Globe Server" />
<globe-resources version="1.14.0" loadStartTime="1416353282307" loadTimeTaken="1659" />
npsa=4000213
-->
=============================================
дальше идёт код который мне не нужен и там тоже есть
npsa=4000213
<head>

9

Re: VBS:как сохранить данные с txt файла?

DarkJoker1992, великолепно. Теперь дело осталось за малым:

2. Указали принципы — в деталях — по которым будет происходить поиск и отбор информации.

рассказать-таки — по каким принципам мы выбираем один определённый «npsa=4000213» среди прочих.

10 (изменено: DarkJoker1992, 2014-11-24 13:32:12)

Re: VBS:как сохранить данные с txt файла?

alexii пишет:

DarkJoker1992, великолепно. Теперь дело осталось за малым:

2. Указали принципы — в деталях — по которым будет происходить поиск и отбор информации.

рассказать-таки — по каким принципам мы выбираем один определённый «npsa=4000213» среди прочих.

имеется сервер где расположены файлы и html файл, который в определённое время,генерирует данные и меняет часть кода, мне нужно забирать нужную мне часть.

11

Re: VBS:как сохранить данные с txt файла?

DarkJoker1992 пишет:

нужную мне часть

В который раз повторяю: опишите принципы, по которым Вы определяете нужную Вам часть.

12

Re: VBS:как сохранить данные с txt файла?

О_о всмысле, есть начало кода есть определённая строка до которой мне нужен код, остальное не нужно.

13

Re: VBS:как сохранить данные с txt файла?

DarkJoker1992, я никак не смогу помочь Вам, пока Вы будете продолжать отделываться общими фразами.