我是PowerShell的新手,并试图习惯于奇怪的语法。我试图删除一个文件夹路径数组。我就是这样做的C#:
string[] folders = { '~/MyFolder/Test123', '~/MyFolder/Test987', '~/MyFolder/Test333' };
foreach (string item in folders) {
$_.Remove()
}
我将如何在PowerShell中实现此目的?我找到了下面的脚本,但我不确定如何更改以使用预定义的数组。包含的参数实际上来自NuGet:
param($installPath, $toolsPath, $package, $project)
$DTE.Solution.Projects|Select-Object -Expand ProjectItems|Where-Object{$_.Name -eq 'Controllers'}|ForEach-Object{$_.Remove()}
如何将字符串数组合并到此而不是硬编码的“控制器”名称。
答案 0 :(得分:3)
有很多方法可以做到,但这个很简单......
$folders = @("~/MyFolder/Test123", "~/MyFolder/Test987", "~/MyFolder/Test333")
$folders | Remove-Item
答案 1 :(得分:2)
这是将字符串数组应用于该过滤器的一种方法:
$ProjectItems = 'Controllers','Robots','Weapons','Bacon'
$DTE.Solution.Projects|
Select-Object -Expand ProjectItems|
Where-Object{$ProjectItems -contains $_.Name}|
ForEach-Object{$_.Remove()}