String Powershell:字符串操作

String Powershell:字符串操作,string,powershell,wmi,String,Powershell,Wmi,我会举例说明我想要什么,不知道如何用另一种方式来解释 下面是我使用的代码: Get-WmiObject win32_share | select name, path 上面的一个示例条目是: 名称路径 管理员$C:\windows 加元C:\ 我想把所有的名字和路径放在一个变量中。我希望字符串看起来像: 名称:管理员,路径:C:\windows;名称:C$,路径:C:\;ect 有什么想法吗 类似这样: [string]::Join("; ", (Get-WmiObject win32_sha

我会举例说明我想要什么,不知道如何用另一种方式来解释

下面是我使用的代码:

Get-WmiObject win32_share | select name, path
上面的一个示例条目是:

名称路径
管理员$C:\windows
加元C:\

我想把所有的名字和路径放在一个变量中。我希望字符串看起来像:

名称:管理员,路径:C:\windows;名称:C$,路径:C:\;ect

有什么想法吗

类似这样:

[string]::Join("; ", (Get-WmiObject win32_share | % { [string]::Format("Name: {0}, Path: {1}", $_.Name, $_.Path)}))
大概是这样的:

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

从@SINTER的答案中稍微修改了方法,并使用了更时髦的语法:

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

从@SINTER的答案中稍微修改了方法,并使用了更时髦的语法:

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

答案不错,不过Powershell的方式应该是:
(获取WmiObject win32_共享|%{“名称:{0},路径:{1}”-f$\.Name,$\.Path})-加入”;“
谢谢。它工作得很好。这是什么?这是一个正则表达式吗?答案很好,不过Powershell的方式应该是:
(获取WmiObject win32_共享|%{“名称:{0},路径:{1}”-f$\u.Name,$\u.Path})-加入“;”
谢谢。它工作得很好。这是什么?它是一个正则表达式吗?它是所有高级语法,只是一种方法仅限于cmdlet,另一种方法直接使用.NET类。@AndyArismendi-在我看来,当Powershell有“-join”和“-f”时,您应该在BCL上使用它,这实现了相同的效果。毫无疑问,任何使用前者的方法都更时髦。这都是时髦的语法,只是一种方法仅限于cmdlet,另一种方法直接使用.NET类。@AndyArismendi-在我看来,当Powershell有“-join”和“-f”时,你应该在BCL上使用它们,这实现了同样的效果。当然,任何使用前者的东西都更时髦。