Как подсознательно чувствовал, кодировка файла 1251. Долой CMD.
ИМХО, в программе ФОМХ (совершенно с ней не знаком) заполняются некие поля.
Цитата Rey71:
Строка с ошибкой может быть как одинаковой целиком, например "У новорожденного не указан вес (не заполнено поле Weight)"
так и совпадающей только частью строки, например "Значения полей KPG и KSG не соответствуют справочнику KSG.DBF в отчетном периоде : KPG= 16, KSG=110"
где значения "KPG= 16, KSG=110" могут меняться в разных строках ошибок. »
|
Цитата Iska:
Оптимальный вариант, как я вижу — собирать виды ошибок сразу в виде регулярных выражений, для WSH или PoSH. »
|
ИМХО, это достаточно громоздко и не гибко.
Цитата alpap:
Rey71, не лучше ли это все было делать в excel »
|
Если заполняются поля и, кстати, они, похоже, поминаются в аварийном сообщении, то напрашивается решение:
формируем таблицу Excel по шаблону.
В первом столбце шаблона -заголовок секции (то, что начинается с #)
Во втором - ошибка без указания опознанного в строке сообщения поля - наверное, возможно и такое? Как, в принципе: когда имя поля в сообщении отсутствует, так и как упущении при создании Excel-шаблона: айтишник в атаку - дополняй шаблон, если надо.
В последующих - имена всех заполняемых полей. Сюда будут попадать сообщения, в котором помянуто поле в заголовке.
После импорта текстового файла в таблицу, созданную по шаблону, удаляем (скрываем?) столбцы, в которые ничего не попало, для лучшей читаемости.
Похоже, разный медперсонал отвечает за заполнение разных полей.
Флаг в руки! В фильтре таблицы каждый может указать отбор по своим непустым полям.
Вуаля!
ИМХО, довольно объёмная работа и для тестирования понадобится реальный файл.
Обычно я пытаюсь смотреть на инфу глазами конечного пользователя. Что он получает сейчас и что его в этом не устраивает? Сформулируйте, приведите примеры, прежде чем пытаться что-то делать, тыкая пальцем в небо.
Можно пойти по пути
Iska, но немного не так.
Без Excel, например, в VBS, сформировать массив со списком полей в виде строки с разделителем для каждого пользователя и формировать столько файлов с копиями секций исходного файла, сколько элементов в этом массиве. Это более простое решение.