|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Найти строку и в ней записать в переменную содержимое между кавычек. |
|
|
CMD/BAT - Найти строку и в ней записать в переменную содержимое между кавычек.
|
Новый участник Сообщения: 35 |
Всем привет!
Необходимо пройтись поиском по каждой строке во всём файле, найти определенную строку(несколько слов вхождений) и в этой найденной строке записать в переменную слова, находящиеся между кавычек. Как пример, ищем в файле ниже строку "Serial Number", затем в ней извлекаем значение "11325":
Upd. bat-файл будет грузиться только с FreeDOS. |
|
Отправлено: 13:27, 03-04-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата rango13:
|
|
Отправлено: 06:29, 12-04-2018 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить 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 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 00:33, 13-04-2018 | #23 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как записать в переменную результат выполнения команды? | MSI | Скриптовые языки администрирования Windows | 64 | 24-12-2020 18:20 | |
CMD/BAT - [решено] Узнать имя пользователя и записать в переменную | Darkar25 | Скриптовые языки администрирования Windows | 37 | 13-01-2018 23:59 | |
CMD/BAT - Поиск 1ой папки и записать ее в переменную | Andreyk1s | Скриптовые языки администрирования Windows | 2 | 06-01-2017 23:31 | |
CMD/BAT - найти файл и записать в переменную | pzh2393 | Скриптовые языки администрирования Windows | 7 | 20-01-2013 03:35 | |
CMD/BAT - [решено] Найти в реестре параметр и записать в переменную имя ветки в которой он находится | root221 | Скриптовые языки администрирования Windows | 11 | 25-11-2012 07:54 |
|