간단한 질문입니다. 주어진 폴더의 모든 파일에 대해 작동하는 Powershell 함수가 있습니다. 때로는 기능이 단일 폴더에서 작동하고 여러 폴더에서 작동하도록하고 싶을 때가 있습니다. 경로는 배열에 저장됩니다. 하나의 함수가 단일 요소와 배열을 모두 받아 들일 수있는 방법이 있습니까? 하나의 요소는 foreach는 지정된 항목을 한 번 실행하게됩니다 전달Powershell의 함수에 문자열 또는 문자열 배열을 전달하십시오.
function Do-Stuff($folders) {
foreach($f in $folders) {
//do something with $f
}
}
:
Do-Stuff $aSingleFolder
Do-Stuff $anArrayofFolders
굉장합니다. 고마워, 닉. – mack
문제가 없지만, 작은 경우에도이 기능을 선호합니다. 더 큰 규모로 작업 할 수있는 기능을 다시 작성하는 데 몇 분의 시간이 걸렸습니다. 멋진 한 주를 보내십시오! – Nick
'[String] $ Folders'를 사용하여 선언했듯이이 함수는 파이프 라인을 통해 전달 된 여러 값에 대해서만 작동합니다. 매개 변수 선언을'[string []] $ Folders'로 변경하면'process' 블록에서'foreach ($ f in $ Folders)'할 수 있고'Do-Stuff','Do - 내용 , '및 ', | 마. (아, 그리고 backticks는 불필요합니다 : 연속 대괄호와 괄호 수를 계산하십시오 :) –