2014-12-19 71 views
2

我們的應用程序使用,包含以下信息如何刪除添加到「添加可信站點?」所需的詳細信息?

[DEFAULT] 
BASEURL=http://MachineName:1800/App/LandingPage.aspx 
[InternetShortcut] 
URL=http://MachineName:1800/App/LandingPage.aspx 

我需要這個網址添加到受信任網站的URL文件。

首先,我需要獲得單獨http://MachineName

如果我運行followind命令,它具有完整產品線,其中BASEURL存在。

$URL = Get-content FileName.url | Select-string -pattern "BASEURL" 

如何使用powershell從http://MachineName獲取內容?

回答

4

Select-String cmdlet返回一個布爾值或MatchInfo。按照documentation

輸出Microsoft.PowerShell.Commands.MatchInfo或System.Boolean通過 默認情況下,輸出是一組MatchInfo對象,一個對於每個找到的匹配 的。如果使用Quiet參數,則輸出是一個布爾值 ,指示是否找到該模式。

當您在沒有使用-quiet的情況下得到多個匹配項時,您會得到一個MatchInfo對象數組。結果可通過Matches[]陣列的Value屬性像這樣被訪問,

PS C:\> $URL = Get-content \temp\FileName.url | Select-string -pattern "(http://[^:]+)" 
PS C:\> $URL 

BASEURL=http://MachineName:1800/App/LandingPage.aspx 
URL=http://MachineName:1800/App/LandingPage.aspx 

PS C:\> $URL[0].Matches[0].value 
http://MachineName 
PS C:\> $URL[1].Matches[0].value 
http://MachineName 

爲了只捕獲BASEURL字符串不帶前綴,使用非捕獲組像這樣,

PS C:\> $URL = Get-content \temp\FileName.url | Select-string -pattern "(?:BASEURL=)(http://[^:]+)" 
PS C:\> $url 

BASEURL=http://MachineName:1800/App/LandingPage.aspx 

PS C:\> $url.Matches[0].Groups[1].Value 
http://MachineName 
相關問題