ルートレベルフォルダのサブフォルダ内のすべてのフォルダを繰り返す方法

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/92622

  •  10-12-2019
  •  | 
  •  

質問

下の

は、ダウンロードフォルダをダウンロードしたルートレベルフォルダを繰り返すコードで、任意の文字から始めてサブフォルダをダウンロードします。サブフォルダだけではなく、すべてのフォルダレベルをダウンロードしたいです。これを達成する

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分の答えに何を望みますか?)

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top