我会通过示例来解释我想要的,不知道如何以另一种方式解释它。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