@millimo

Как используя php или vbs вытащить данные из текстовых файлов?

Добрый день, подскажите, как спарсить определенные строчки из .cmd файлов например: скрипт в файле:

cd "%SD_EVENTHOME%bin"
call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/sDSddd -s servName -x "WO: ОФЭЗ: (nyanNAME) Контроль справочника орган" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
из всего этого нужно вытащить только вот это: "WO: ОФЭЗ: (nyanNAME) Контроль справочника орган"

проблема еще и в том, что всего файлов 390 среди них есть и пустые и закомментированые и частично закомментированые и один файлы с кучей скриптов внутри и по одному скрипту

в конечном итоге нужно что-бы получилось выгрузить вот в таком виде на примере этого файла: script.cmd "WO: ОФЭЗ: (nyanNAME) Контроль справочника орган"

(т.е. файл в котором лежит / лежат скрипт/ скрипты и название сама которое в кавычках)

буду рад, если подскаждите как сделать на php
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 2
negasus
@negasus
Developer
Допустим, все файлы лежат в одной папке.
Тогда с помощью opendir/readdir получаем список файлов.
Далее в цикле, читаем файл в строку и разбираем эту строку с помощью регулярного выражения.
А уж чтобы написать правильную регулярку - надо понимать, как эти файлы могут внутри выглядеть.
Ответ написан
@res2001
Developer, ex-admin
Вам нужен только php или vbs? Почему бы тем же батником не вытащить?

@echo off
set "dirin=c:\temp"
set "findstr=addentry.bat"
for /f "tokens=1,* delims=:" %%a in ('findstr /c:"%findstr%" "%dirin%\*.cmd" ') do call:workstr %%~b
goto:eof

:workstr
shift
echo.script.cmd  %9
exit /b

Примерно так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект