루트 레벨 폴더의 하위 폴더 내부의 모든 폴더를 반복하는 방법
-
10-12-2019 - |
문제
아래의 루트 레벨 폴더를 반복하는 코드는 폴더가 "A"로 시작하고 문자가 시작되기 시작하여 서브 폴더를 다운로드합니다.나는 모든 폴더 레벨이 있고 하위 폴더뿐만 아니라 모든 폴더 레벨을 다운로드하고 싶습니다.이 를 달성 할 수 있습니다.
foreach($folder in $RootFolder.SubFolders)
{
if($folder.Name.StartsWith("a")
{
ProcessFolder($folder.Url)
}
foreach($folder in $folders.SubFolders)
{
ProcessFolder($folder.Url)
}
}
. 해결책
나는 다음과 같이 할 것입니다 :
function ProcessAllSubfolders($folderCollection)
{
foreach ($folder in $folderCollection)
{
if ($folder.Subfolders.Count -gt 0)
{
ProcessAllSubfolders($folder.SubFolders)
}
ProcessFolder($folder.Url)
}
}
# main
foreach ($folder in $RootFolder.SubFolders)
{
if ($folder.Name.StartsWith("a"))
{
if ($folder.Subfolders.Count -gt 0)
{
ProcessAllSubfolders($folder.SubFolders)
}
ProcessFolder($folder.Url)
}
}
.
(몇 가지 코드 복제가 있음을 깨닫고 아마도 더 우아한 방법이 있습니다. 그러나 3 분 답변으로 무엇을 원하십니까?)
제휴하지 않습니다 sharepoint.stackexchange