下面是通过下载文件夹的根级文件夹来迭代的代码,并以任何字母从其开始下载子文件夹。我想下载所有文件夹级别,而不仅仅是子文件夹。我可以实现这个

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归因
scroll top