![]() |
VBS. Прочитать определенные строки из файла
Имеются файлы со следующим содержимым:
Acct Number & Extension 4437761038265905889 Merchant State/Prov. Code Floor Limit Indicator Requested Payment Service CRB/Exception File Ind Number of Payment Forms PCAS Indicator Usage Code 1 Acquirer Reference Nbr 74647875158522522154444 Chargeback Reason Code 00 Acquirer's Business ID 00000000 Settlement Flag 8 Purchase Date 20150607 Auth Characteristics Ind N Destination Amount 000000105423 Authorization Code Destination Currency Code 643 POS Terminal Capability 9 Source Amount 000000105423 International Fee Ind Source Currency Code 643 Cardholder ID Method 4 Merchant Name PAYPAL *ITRADEZONE Collection-Only Flag Merchant City 35314369001 POS Entry Mode 01 Merchant Country Code RU Central Processing Date 20150608 Merchant Category Code 5732 Reimbursement Attribute 0 Merchant ZIP Code 00000 Нужно сделать так, чтобы выводилось из этого файла (в выходной файл output.txt выгружать) значения в строках Acct Number & Extension, Acquirer Reference Nbr и Source Amount. На примере выше должно выглядеть как: 74647875158522522154444, 4437761038265905889, 000000105423 .... ....(и т.д.) Через точку с запятой или просто запятой перечислять. Весь файл содержит шаблоны как выше, только цифры разные. Пример ниже выводит только Acquirer Reference Nbr, а как прицепить в цикле два других значения, чтобы в одной строке были перечислены? Const ForReading = 1 Dim strSearchString Set objFSO = CreateObject("Scripting.FileSystemObject") Set inFile = objFSO.OpenTextFile("C:\input.txt",ForReading) Set outFile = objFSO.OpenTextFile("C:\output.txt",2,True) Do While Not inFile.AtEndOfStream strSearchString = inFile.ReadLine If (Left(strSearchString,23) = " Acquirer Reference Nbr") then outFile.Writeline Mid(strSearchString,28,23) end if Loop inFile.Close outFile.Close WScript.Echo "Файл обработан" |
alex1985khv, упакуйте образец реального файла в архив, приложите к сообщению. Максимальный размер одного такого файла каков может быть?
|
Iska, на работе, к сожалению, не могу приложить. Блокирует политикой доступа. Вес может быть до 20 мегабайт.
Сам файл состоит как из примера выше - после строки Merchant ZIP Code 00000 следует пару пустых строк ниже и опять Acct Number & Extension...Только в цифрах различие, которые мне надо выгрузить в отдельный файл. Т.е. отобрать все строки, названия которых начинаются только на: Acct Number & Extension Acquirer Reference Nbr Source Amount И из них цифры (выделены жирным шрифтом), длина которых всегда фиксирована. Acquirer Reference Nbr 74647875158522522154444 Chargeback Reason Code 00 Acct Number & Extension 4437761038265905889 Merchant State/Prov. Code Source Amount 000000105423 International Fee Ind |
Цитата:
Ну, попробуйте так: Скрытый текст
Код:
Option Explicit Путь к исходному файлу указывается аргументом скрипта (также можно просто перетащить исходный файл на скрипт в Проводнике). |
Время: 06:47. |
Время: 06:47.
© OSzone.net 2001-