Come italare attraverso tutte le cartelle all'interno delle sottocartelle delle cartelle del livello root
-
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)
}
}
. 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