A maneira como a recusa funciona é que garante que tudo sob uma pasta raiz também seja trabalhado. Por exemplo - se você tiver uma pasta C: \ myfolder com uma dúzia de subpastas, algumas com suas próprias subpastas e até mesmo algumas delas também - cada uma com arquivos em ... então gerenciando-as e aplicando uma alteração a todas elas é muito demorado e fácil de bagunçar sem recursão.
Recurstion desce em uma árvore de pastas seguindo 1 caminho até o final, subindo um nível e descendo novamente até que ele tenha que voltar ao topo e pegar a próxima ramificação. EG:
ele irá até C: \ folder \ subfolder1 \ subsubfolder1 \ e então subsubfolder2 ... quando terminar esse branch, ele retornará para C: \ folder \ subfolder2 \ e passará por esse branch. .. eventualmente terminará em C: \ folder * e irá progredir para C: \ folder2 ..
Nossa, isso é difícil de explicar. Essencialmente, vai alfabeticamente até a primeira cadeia que pode, em seguida, sobe 1 nível e se repete. Eventualmente, ele tem que subir 2 níveis e, em seguida, vai novamente .. mais e mais até que ele tenha que voltar para o topo