В настоящее время я работаю над проектом, в котором я ищу сотни файлов, используя 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";"
, которые мне ничего не дали.