Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 12-04-2018 в 20:44.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:03, 12-04-2018 | #22