2017-01-26 100 views
0

我目前正在一個項目中使用findstr在命令行中搜索數百個文件。如果找到我搜索的字符串,我想繼續處理這個確切的文件(以及其他包含我的字符串的文件)。 所以在我的情況:我 搜索字符串WRI2016使用:使用findstr在多個文件中搜索,只處理生成的文件? (cmd)

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

取而代之的是大量的文本中,你可能會提供一個示例文本文件和示例CSV文件,因此可能會更容易理解,您嘗試實現的內容... – aschipfl

回答

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

相關問題