1

我是 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()}

我如何将一个字符串数组合并到这个而不是硬编码的“控制器”名称。

4

2 回答 2

3

有很多方法可以做到这一点,但这个很简单......

$folders = @("~/MyFolder/Test123", "~/MyFolder/Test987", "~/MyFolder/Test333")
$folders | Remove-Item 
于 2013-03-15T03:32:53.857 回答
2

这是将字符串数组应用于该过滤器的一种方法:

$ProjectItems = 'Controllers','Robots','Weapons','Bacon'

$DTE.Solution.Projects|
Select-Object -Expand ProjectItems|
Where-Object{$ProjectItems -contains $_.Name}|
ForEach-Object{$_.Remove()}
于 2013-03-15T03:38:05.590 回答