2017-02-16 1 views
4

Je gère un projet d'installation sous VS2008. Le projet contient des milliers de fichiers disposés dans une hiérarchie de dossiers.Suppression rapide de fichiers dans un projet d'installation

De temps en temps, je souhaite renouveler une partie de cette hiérarchie, ce qui implique la suppression d'un certain nombre de nœuds et la réinsertion du nouveau contenu. Je dois faire cela parce que certains fichiers sont obsolètes et doivent être supprimés. Il est beaucoup plus sûr de tout supprimer que de chasser les fichiers obsolètes.

Malheureusement, cette tâche est très fastidieuse car vous ne pouvez pas supprimer les dossiers vides et vous devez supprimer tous les nœuds de la hiérarchie un par un. De plus, pour un grand projet, chaque suppression prend quelques secondes.

Connaissez-vous un moyen d'accélérer ou d'automatiser cette tâche? Simplement effacement des lignes dans le fichier .vdproj ne semble pas fonctionner.

Répondre

0

Si vous ne vous sentez pas trop mal à l'aise .... Cela en vaut la peine si les changements sont fréquents.

Le fichier .vcproj est au format xml. Vous pouvez utiliser l'explorateur pour gérer vos fichiers et écrire un petit utilitaire qui vérifie et supprime les fichiers (alors) manquants de votre projet. Les fichiers sont marqués avec des étiquettes, comme dans

<File 
    RelativePath=".\AudioPlayerPane.cpp" 
    > 
</File> 

Vous devez supprimer l'intégralité de la balise « Fichier », qui est 3 lignes, ou plus, si le fichier a des options de compilation spéciales, etc .. jusqu'à et y compris la "/ File" tag. De plus, vous voudrez supprimer les fichiers .suo, .ncb et .cache

Il est dommage que boost.property_tree xml ne prenne en charge aucun encodage autre que UTF-8, car je vous suggère de l'utiliser de manière récursive marchez le fichier vcproj. Cela rendrait l'utilitaire très facile à écrire et garantirait que le fichier résultant est correct. Peut-être que vous pouvez utiliser les capacités d'encodage de notepad ++ pour modifier manuellement l'encodage du fichier avant et après les changements.

+0

Merci pour le conseil. Peut-être que je vais essayer avec un script Python. –