Поиск в нескольких файлах с помощью findstr, работа только с полученными файлами? (команда)

В настоящее время я работаю над проектом, в котором я ищу сотни файлов, используя findstr в командной строке. Если я найду строку, которую я искал, я хочу продолжить работу именно с этим файлом (и другими файлами, которые включают мою строку). Итак, в моем случае: я искал строку WRI2016, используя:

H:\KOBINI>findstr "WRI2016" *.ini > %temp%\xx.txt && %temp%\xx.txt

Чтобы увидеть, что делает ПК, я сохраняю это в файле .txt, как видите. Итак, если мой файл содержит WRI2016, я хочу извлечь из файла некоторые факты. В моем случае это NR, Kunde, WebHDAktiv, DigIDAktiv. Но я просто не могу найти правильный способ связать обе эти функции. Сначала я просто напечатал все параметры:

H:\KOBINI>findstr "\<NR Kunde WRI2016 WebHDAktiv DigIDAktiv" *.ini > %temp%\xx.csv && %temp%\xx.csv

Я также поэкспериментировал с командой if, но это не сработало. Я довольно новичок в этом, как вы увидите в моих следующих попытках решить эту проблему:

H:\KOBINI>findstr "\<NR DigIDAktiv WebHDAktiv" set a =*.ini findstr "WRI2016" set b =*.ini if a EQU b > %temp%\xx.txt && %temp%\xx.txt

Итак, все, чего я хотел добиться с помощью этого странного кода, это: если в файле есть WRI2016, дайте мне остальные параметры. Но это совсем не вышло. Я также попробовал использовать новые строки для каждой команды, которая ничего не изменила.

Поскольку я хочу, чтобы это было .csv, в конце я хочу добавить точку с запятой между моими параметрами, есть шанс, как я могу это сделать? Я видел версии, использующие -s";", которые мне ничего не дали.


person DaveLopez    schedule 26.01.2017    source источник
comment
Вместо огромного количества текста вы могли бы предоставить образец текстового файла и образец файла CSV, чтобы было немного легче понять, чего вы пытаетесь достичь...   -  person aschipfl    schedule 26.01.2017


Ответы (1)


Извините, я совсем новичок и решил попробовать. пример моих файлов .ini Выглядит так:

> Kunde=Markt
> Nr=101381  
> [...]
> DigIDAktiv=Ja
> WebHDAktiv=Nein 
> Version=WRI2016_U2_P1

однако некоторые файлы имеют другую версию. Поэтому я хочу знать только "NR, DigIDAktiv...", если это версия 2016 года. В результате он должен быть отсортирован в CSV по разным столбцам.

Моя папка выглядит так

Поэтому я ищу эти файлы, чтобы найти версию 2016, а затем пытаюсь извлечь свою информацию и поместить ее в .csv.

person DaveLopez    schedule 26.01.2017