使用findstr搜索多个文件,只继续生成结果文件? (CMD)

时间:2017-01-26 11:50:06

标签: search cmd findstr

我目前正在开发一个项目,我在命令行中使用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";"的版本,它对我没有任何作用。

1 个答案:

答案 0 :(得分:0)

对不起,我很新,以为我会试一试。 我的.ini文件示例如下所示:

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

虽然有些文件有不同的版本。 所以我只想知道“NR,DigIDAktiv ......”如果它是2016版本。 因此,它应该以CSV格式排列在不同的列中。

My Folder Looks like this

因此,我搜索这些文件以查找2016版本,然后尝试提取我的信息并将其放入.csv

相关问题