TCL: recherche récursive sous-répertoires à la source tous les fichiers .tcl
J'ai TCL proc que les sources des tonnes d'autres tcl procs dans d'autres dossiers et ultérieure des sous-répertoires. Par exemple, dans le proc principal:
source $basepath/folderA/1A.tcl
source $basepath/folderA/2A.tcl
source $basepath/folderA/3A.tcl
source $basepath/folderB/1B.tcl
source $basepath/folderB/2B.tcl
source $basepath/folderB/3B.tcl
et il semble assez stupide pour le faire de cette façon quand je sais que je vais à la source tout en folderA et folderB. Est-il une fonction (ou de façon simple) qui me permettra de tout simplement source de tous les .tcl fichiers dans un dossier entier?
source d'informationauteur Lyndon
Vous devez vous connecter pour publier un commentaire.
Bâtiment sur ramanman réponse, voici une routine qui aborde le problème en utilisant le construit en TCL fichier de commandes et qui fonctionne c'chemin vers le bas de l'arborescence des répertoires de manière récursive.
Il devient trivial avec tcllib à bord:
Peut-être un peu plus indépendant de la plateforme et à l'aide de fonctions internes telles commandes à la place de la tuyauterie à un processus:
Répétez l'opération pour folderB.
Si vous avez plus de critères de sélection rigoureux, et ne vous inquiétez pas fonctionner sur toutes les autres plates-formes, à l'aide de trouver peut-être plus flexible.
Basé sur une réponse précédente, cette version gère les cycles créée par des liens symboliques et dans le processus élimine la duplication des fichiers en raison de liens symboliques.
Même idée que schlenk:
Si vous ne voulez folderA et folderB et pas d'autres dossiers de moins de $basepath:
En voici une:
La réponse de Joseph Bui fonctionne bien sauf qu'il ignore les fichiers dans le dossier initial.
Changement:
Pour:
de fixer