2012-04-09 20 views
0

例で説明したいものを説明しますが、別の方法で説明する方法がわかりません。Powershell:文字列操作

はHERESに使用してコードイム:

Get-WmiObject win32_share | select name, path 

例のエントリは上からでは次のようになります。

名パス
のADMIN $ C:\ WINDOWS
C $ C:

\

すべての名前とパスを1つの変数に入れたいと思っています。

:私は、文字列は次のようになりたい "名前:\ WINDOWS:Cの$、パス:C:名:admin、パス:C \;電気ショック療法電気ショック療法.."

どれでもアイデア?

答えて

0

このような何か:

[string]::Join("; ", (Get-WmiObject win32_share | % { [string]::Format("Name: {0}, Path: {1}", $_.Name, $_.Path)})) 
+0

良い答えは、PowerShellの道は次のようになりかかわら: '(ゲット-WmiObjectコマンドwin32_share |%{"Name:{0}、Path:{1}" -f $ _。Name、$ _。Path})-join ";" – manojlds

+0

ありがとうございます。それは素晴らしい作品です。これは何ですか?それは正規表現ですか? – resolver101

3

焼結体の答え@、よりPOSHの構文を使用してからのアプローチでは若干の変更:

$out="";Get-WmiObject win32_share | %{ $out+="Name: {0}, Path: {1}; " -f $_.Name, $_.Path} 
+0

それはすべてPoshの構文imhoです。ただ一つの方法はcmdletのみに限定され、もう一つは.NETクラスを直接利用します。 –

+1

@AndyArismendi - 私の意見では、Powershellに "-join"と "-f"があるときは、同じことを実現するBCLでそれを使用するべきです。間違いなく、前者を使用するものはすべてPOSHです。 – manojlds