Come italare attraverso tutte le cartelle all'interno delle sottocartelle delle cartelle del livello root

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

  •  10-12-2019
  •  | 
  •  

Domanda

Di seguito è riportato il codice per iterare attraverso le cartelle di livello root che scarica la cartella inizia con "A" e scaricare le cartelle secondarie da esso iniziando con qualsiasi lettera.Voglio scaricare tutti i livelli di cartella e non solo la sottocartella. Come ottengo questo

foreach($folder in $RootFolder.SubFolders)
{
if($folder.Name.StartsWith("a")
{
ProcessFolder($folder.Url)
}
foreach($folder in $folders.SubFolders)
{
ProcessFolder($folder.Url)

}

}
.

È stato utile?

Soluzione

Farei qualcosa del genere:

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

(Mi rendo conto che c'è qualche duplicazione del codice lì e probabilmente c'è un modo più elegante per farlo, ma cosa vuoi per una risposta di 3 minuti?)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top