我會通過示例來解釋我想要的,不知道如何以另一種方式解釋它。Powershell:字符串操作
赫雷什使用的代碼IM:
Get-WmiObject win32_share | select name, path
一個示例項是從上面是:
名稱路徑
ADMIN $ C:\窗戶
C $ C:\
我想把所有的名字和路徑放到一個變量中。我希望字符串看起來像:
「名:admin,路徑:C:\ WINDOWS;名稱:C $,路徑:C:\; ECT等..」
任何想法?
我會通過示例來解釋我想要的,不知道如何以另一種方式解釋它。Powershell:字符串操作
赫雷什使用的代碼IM:
Get-WmiObject win32_share | select name, path
一個示例項是從上面是:
名稱路徑
ADMIN $ C:\窗戶
C $ C:\
我想把所有的名字和路徑放到一個變量中。我希望字符串看起來像:
「名:admin,路徑:C:\ WINDOWS;名稱:C $,路徑:C:\; ECT等..」
任何想法?
事情是這樣的:
[string]::Join("; ", (Get-WmiObject win32_share | % { [string]::Format("Name: {0}, Path: {1}", $_.Name, $_.Path)}))
的方法稍作修改從@燒結礦的答案,並使用更多POSH語法:
$out="";Get-WmiObject win32_share | %{ $out+="Name: {0}, Path: {1}; " -f $_.Name, $_.Path}
這都是Posh語法,只有一種方法僅限於cmdlet,另一種方式直接使用.NET類。 – 2012-04-09 13:22:36
@AndyArismendi - 在我看來,當Powershell具有「-join」和「-f」時,你應該在BCL上使用它來達到相同效果。當然,使用前者的東西更多是POSH。 – manojlds 2012-04-09 13:45:59
很好的回答,但PowerShell的方法是:'(GET-WmiObject可以win32_share |%{「名稱:{0},路徑:{1}」-f $ _。Name,$ _。Path})-join「;」' – manojlds 2012-04-09 12:59:12
謝謝。它的效果很好。這是什麼?這是一個正則表達式嗎? – resolver101 2012-04-09 13:25:57