PDA

Показать полную графическую версию : Найти строку и в ней записать в переменную содержимое между кавычек.


Страниц : 1 [2]

Iska
12-04-2018, 06:29
Странно, ну ладно.
Если что, для накатывания FreeDOS на USB-флешку использовал программу Rufus. »
Странно. Хотя это не установленная и развёрнутая FreeDOS, а инсталляционный комплект, но там тоже есть неупакованный FIND.COM.

megaloman
12-04-2018, 19:03
rango13, Использовал батник, который генерит программу для старого QBasic 1.1 - думаю, сможете его разыскать без проблем. Подозреваю, проще полностью написать Вашу задачу на базике и не уродоваться с батником
Тестировал в MS DOS 8. Кстати, ставил на флэшку посредством Rufus@Echo Off
cls

Set FileIn=TEST.TXT
Set FindStr=Serial Number
Set BasTmp=bastmp.bas

Echo DIM StrIn AS STRING >%BasTmp%
Echo DIM Finds AS STRING >>%BasTmp%
Echo DIM A AS STRING >>%BasTmp%
Echo. >>%BasTmp%
Echo DIM i AS INTEGER >>%BasTmp%
Echo DIM j1 AS INTEGER >>%BasTmp%
Echo DIM j2 AS INTEGER >>%BasTmp%
Echo. >>%BasTmp%
Echo Finds = "%FindStr%" >>%BasTmp%
Echo. >>%BasTmp%
Echo OPEN "%FileIn%" FOR INPUT AS #1 >>%BasTmp%
Echo. >>%BasTmp%
Echo WHILE NOT EOF(1) >>%BasTmp%
Echo INPUT #1, StrIn >>%BasTmp%
Echo i = INSTR(1, UCASE$(StrIn), UCASE$(Finds)) >>%BasTmp%
Echo IF NOT i = 0 THEN >>%BasTmp%
Echo ' PRINT StrIn >>%BasTmp%
Echo j1 = INSTR(1, StrIn, CHR$(34)) + 1 >>%BasTmp%
Echo j2 = INSTR(j1, StrIn, CHR$(34)) >>%BasTmp%
Echo PRINT MID$(StrIn, j1, j2 - j1) >>%BasTmp%
Echo END IF >>%BasTmp%
Echo WEND >>%BasTmp%
Echo CLOSE #1 >>%BasTmp%
Echo SYSTEM >>%BasTmp%

QBASIC.EXE /RUN %BasTmp%

Pause

Iska
13-04-2018, 00:33
который генерит программу для старого QBasic 1.1 - думаю, сможете его разыскать без проблем. Подозреваю, проще полностью написать Вашу задачу на базике и не уродоваться с батником »
Там и искать ничего не надо: в комплекте поставки идут пара basic'ов, fpc, куча компиляторов C/Objective C/C++ (включая известный проект DGGPP), несколько ассемблеров, PERL, REXX, Lua — в общем, ешь-не хочу, было бы желание.




© OSzone.net 2001-2012