J’utilise un programme qui, quand je l’utilise, me créée divers types de fichiers pour sauvegarder les modifications réalisées, les notes, les commentaires, …
Une fois par mois, je souhaiterais faire un grand nettoyage de certains de mes dossiers (avec arborescence) afin de supprimer tous ces fichiers créées. Je ne souhaite pas toucher à l’arborescence des dossiers, mais uniquement à leur contenu (fichiers).
Je souhaiterais donc faire un fichier batch qui me permette de faire ce grand nettoyage. Le problème est que ces fichiers n’ont pas d’extension, donc je ne peux pas les supprimer de cette manière, et leur nom n’est pas « constant », ils commencent toujours par ANXPOT, puis un numéro est accolé en fonction du numéro de fichier généré : ANXPOT1, ANXPOT2, … et dans certains cas, cela peut aller jusqu’à plusieurs milliers(ANXPOT7849).
Ajouter une ligne pour supprimer chaque numéro de ce type n’est pas efficient et il y a toujours un risque qu’un jour ce numéro de fichier soit dépassé par les fichiers, et qu’ils ne soient donc pas supprimés:
echo o|del /s ANXPOT1
J’ai aussi pensé à faire une boucle for/while mais on reste confronté à cette même limitation.
Je souhaiterais savoir si vous auriez une idée, s’il existe une manière de faire pour obtenir le même résultat que lors de recherches google, en mettant un « * » après la base pour qu’ils prenne toutes les déclinaisons possible après.
Sinon tu peux te tourner du côté de PowerShell : il y a de fortes chances qu’il soit installé par défaut, et il est plus puissant (et mieux) que cmd.exe.
Merci, je vais essayer, probablement en changeant un peu la ligne de commande pour éviter qu’absolument tous les fichiers soient supprimés, mais c’est super, merci.
PowerShell est vraiment super, mais quand tu veux faire un truc automatique, rapide, et répétitif, c’est vraiment embêtant vu que tu ne peux pas faire un batch où tu dois juste double cliquer pour que le travail soit fait.
j’ai des fichiers eula.1040.txt dans mon répertoire de test, d’où les étoile.étoile.txt, c’est évidement à adapter)
La commande qui cherche les fichiers, avec des include (recherche tous les fichiers) et exclude (exclus les .txt et .dll) pour faciliter le boulot :
Get-ChildItem -Path D:\test -Include . -Exclude ..txt,*.dll -Recurse
En //, supprimes tout ce qui est trouvé avec :
| Remove-Item
En s’appuyant sur cette commande Get-ChildItem avec un fichier script test.PS1 contenant
Merci pour ces précisions, est-il possible de récupérer l’emplacement du raccourcis dans les fichiers, pour que lors du clic dessus, ces opérations s’opèrent dans le fichier où est placé le raccourcis ?