如何在将元素放入引号的同时加入数组?

时间:2017-04-24 16:25:33

标签: arrays powershell

我在PowerShell中有一个Robocopy功能,我需要用" excluded-folders"来扩展它。 RoboCopy期望排除文件夹采用以下格式:

robocopy.exe ... /xd "dir1" "dir2" "dir3" ...

我有一个名为$ExcludedFolders的动态创建的PowerShell数组,例如:

$ExcludedFolders = @("dir1","dir 2","dir3","dir4")

我想输出这个数组,如:

"dir1" "dir 2" "dir3" "dir4"

当然我知道我可以使用-join运算符:

$ExcludedFolders -join " "

...但有了这个我才得到:

dir1 dir 2 dir3 dir4

我也想在引号中包含文件夹。我确信没有编写X行代码就有一个简单而干净的解决方案。

1 个答案:

答案 0 :(得分:1)

如果无法更改原始字符串,只需通过foreach-object添加引号即可。当然,有几种方法可以做到这一点。一个简单的方法就是在管道对象周围用反引线来逃避。

($ExcludedFolders | Foreach-Object{"`"$_`""}) -join " "

在你使用-join之后就像你一样。根据需要保存结果。