Ce n'est pas une réponse complète. Juste un exemple utilisant PowerShell.
Enregistrez-le dans un fichier avec l'extension .ps1. Ex : test.ps1, et placez-le dans votre répertoire de travail. Pour l'exécuter, Clic droit > Exécuter avec PowerShell.
$WL1 = @('.bat', '.png', '.sh', '.ps1')
$WL2 = @('.git', '__pycache__')
Ce script PowerShell parcourt récursivement les fichiers en excluant les types et dossiers spécifiés dans les listes blanches.