我在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行代码就有一个简单而干净的解决方案。
答案 0 :(得分:1)
如果无法更改原始字符串,只需通过foreach-object
添加引号即可。当然,有几种方法可以做到这一点。一个简单的方法就是在管道对象周围用反引线来逃避。
($ExcludedFolders | Foreach-Object{"`"$_`""}) -join " "
在你使用-join
之后就像你一样。根据需要保存结果。