2013-03-15 4 views
1

PowerShell을 처음 사용하고 이상한 구문에 익숙해졌습니다. 폴더 경로 배열을 삭제하려고합니다. C#에서이 작업을 수행하는 방법은 다음과 같습니다.PowerShell의 배열을 사용하여 폴더를 삭제 하시겠습니까?

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

하드 코딩 된 "컨트롤러"이름 대신 문자열 배열을 어떻게 병합합니까?

답변

2

가 여기에 해당 필터에 문자열 배열을 적용하는 하나 개의 방법 :

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

$DTE.Solution.Projects| 
Select-Object -Expand ProjectItems| 
Where-Object{$ProjectItems -contains $_.Name}| 
ForEach-Object{$_.Remove()} 
+1

수행해야 다운 투표 당신에게 베이컨을 제거하려했기 때문이죠. – R0MANARMY

+2

나는 그것을받을 만하다. – mjolinor

3

이 그것을 할 수있는 많은 방법이 있지만이 하나의 아주 간단합니다 ...

$folders = @("~/MyFolder/Test123", "~/MyFolder/Test987", "~/MyFolder/Test333") 
$folders | Remove-Item 
관련 문제