我正在尋找一種方法來查找文件中的字符串後提取字符串,然後提取該字符串和分離器之間的一切。我能得到LINE出來的文件,但我如何得到我想要離開它的字符串有點難倒。PowerShell來尋找另一個字符串
線出來的文件是這樣的:
<add key="ConnectionString" value="Data Source=xxxxxx;Initial Catalog=Database;Integrated Security=True" />
我能找到的「數據源=」,但我想回到「XXXXXX」。以下是我正在使用的:
((Get-Process -Name "db-engine").Path) + '.Config' | Select-String -Path {$_} - Pattern 'Data Source='
這給了我從上面的整個「添加鍵」行。
在此先感謝您的幫助!
編輯:感謝您的答覆。做多一些挖後,它看起來像「更正確」的方式實際上是用[XML]在文件的內容拉成一個XML對象。然後我可以獲取值並使用split將數據分解成我需要的塊。最終的代碼將如下所示:
$configpath = ((Get-Process -Name "db-engine").Path)
$linepath = $configpath + ".Config"
[xml]$xmlfile = get-content $linepath
$xmlvalue = ($xmlfile.configuration.appSettings.add | where {$_.key -eq "ConnectionString"}).value
$server = $xmlvalue.split(";=")[3]
$db = $xmlvalue.split(";=")[5]
仍然在研究結果,但這似乎讓我走上了正確的道路。 Split將輸入分解爲一個數組,所以[x]讓我調用一個特定的元素。在分割中有多個分隔符,它會在任何分隔符處打斷輸入。也許這可以幫助未來的其他人。
感謝所有幫助,夥計們!
我在解決方案中使用了這些元素。我將它添加到編輯後的文章中。謝謝! –