findstr используется в: FUNCTION для цикла; первый l oop приводит к "без поисковой строки" - PullRequest
0 голосов
/ 27 мая 2020

это странное поведение, которое я наблюдал, мой обходной путь на самом деле состоит в том, чтобы запустить первое значение два раза в: sub, а первое l oop с XE1 возвращает «без строки поиска», второе l oop с XE1 возвращает ожидаемый результат. См. Вывод

Это функция, используемая в CMD, значения SID считываются из файла в более раннем FOR l oop.

:SUB_FINDSTR
REM "remove <blank>" 
set SIDA=%SID: =%
for /F "tokens=2,4,6 delims='" %%a in (Y:\myinstallations\SAP_Hana\TEST\SQL\%ACTION%.sql) do (
    REM set p1=%%a & echo !p1!
    set p1=%%a & set p2=%%b & set p3=%%c 
        echo SUB_FINDSTR: stringsearch for %SIDA% select-results 
        type %LOGPATH%\%ACTION%_%SIDA%.log
            for /F "delims=" %%k in ('findstr /M /I "%p1% %p2% %p3%" %LOGPATH%\%ACTION%_%SIDA%.log') do (
                echo "%ACTION% search pattern 1=!p1! , 2= !p2! , 3=!p3! found in %%k"
                echo "%ACTION% search pattern 1=!p1! , 2= !p2! , 3=!p3! found in %%k" >>%LOGPATH%\FOUND_%ACTION%.txt
            )
    )
GOTO :EOF

это результат, как вы можете см. первый l oop с XE1 возвращает «нет строки поиска», а затем он работает, как ожидалось:

XE1 SUB_FINDSTR: поиск строки для результатов выбора XE1 MAX (VERSNR) , PARNAME, PFNAME «000021», «lars», «DEFAULT» FINDSTR: Кейн Сухзейхенфолге

XE1 SUB_FINDSTR: поиск строки для результатов выбора XE1 MAX (VERSNR), PARNAME, PFNAME "000021", "lars", "DEFAULT" MAX (VERSNR), PARNAME, PFNAME "000021", "lars", "DEFAULT", шаблон поиска SELECT_LARS 1 = lars, 2 =, 3 = найдено в Y: \ myinstallations \ SAP_Hana \ TEST \ LOG_ABAP \ 27-05-2020_93744 \ SELECT_LARS_XE1.log "" Шаблон поиска SELECT_LARS 1 = lars, 2 =, 3 = найдено в% l "

XF1 SUB_FINDSTR: stringsearch для результатов выбора XF1 MAX (VERSNR), PARNAME, PFNAME "000014", "lars", "DEFAULT" "SELECT_LARS шаблон поиска 1 = lars, 2 =, 3 = найдено в Y: \ myi nустановки \ SAP_Hana \ TEST \ LOG_ABAP \ 27-05-2020_93744 \ SELECT_LARS_XF1.log "" Шаблон поиска SELECT_LARS 1 = lars, 2 =, 3 = найдено в% l "

XH1 SUB_FINDSTR: поиск строки для XH1 select- результаты MAX (VERSNR), PARNAME, PFNAME

XM1 SUB_FINDSTR: поиск строки для результатов выбора XM1 MAX (VERSNR), PARNAME, PFNAME

XS1 SUB_FINDSTR: поиск строки для результатов выбора XS1 MAX (VERSNR ), PARNAME, PFNAME

Есть идеи?

PS это нормально / правильно, что петли XH1, XM1 и XS1 не находят "lars".

С уважением, Ларс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...