我目前正在开发一个项目,我在命令行中使用findstr搜索数百个文件。如果我找到了我搜索过的字符串,我想继续使用这个确切的文件(以及包含我的字符串的其他文件)。 所以在我的情况下: 我使用:
搜索了字符串WRI2016
H:\KOBINI>findstr "WRI2016" *.ini > %temp%\xx.txt && %temp%\xx.txt
要查看PC的功能,我将其保存在.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";"
的版本,它对我没有任何作用。
答案 0 :(得分:0)
对不起,我很新,以为我会试一试。 我的.ini文件示例如下所示:
> Kunde=Markt
> Nr=101381
> [...]
> DigIDAktiv=Ja
> WebHDAktiv=Nein
> Version=WRI2016_U2_P1
虽然有些文件有不同的版本。 所以我只想知道“NR,DigIDAktiv ......”如果它是2016版本。 因此,它应该以CSV格式排列在不同的列中。
因此,我搜索这些文件以查找2016版本,然后尝试提取我的信息并将其放入.csv