Batch : Suppression de DOSSIER plus vieux
Fermé
Eizekiel
-
1 janv. 2023 à 15:03
brucine Messages postés 18882 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 6 février 2025 - 3 janv. 2023 à 14:54
brucine Messages postés 18882 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 6 février 2025 - 3 janv. 2023 à 14:54
A voir également:
- Batch : Suppression de DOSSIER plus vieux
- Fichier batch - Guide
- Batch renommer une partie du nom de plusieurs fichiers - Guide
- Modification de plusieurs fichiers avec .bat ✓ - Forum Autoit / batch
- Batch net use - Forum Réseau
- Batch color - Forum Autoit / batch
1 réponse
dubcek
Messages postés
18761
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
6 février 2025
5 623
3 janv. 2023 à 12:02
3 janv. 2023 à 12:02
hello
essayer la commande Microsoft forfiles
https://learn.microsoft.com/fr-fr/windows-server/administration/windows-commands/forfiles
3 janv. 2023 à 14:54
Bonjour,
Le comportement tant de FORFILES qu'en alternative de ROBOCOPY est trompeur: supposons que j'ai sur le bureau un dossier date de création 20/10/2022 qui sera celle prise en compte et pas modifiée par un sous-dossier daté 06/11/2022 que j'y ai ajouté ne contenant que des fichiers de plus de 3 mois et plusieurs fichiers à la racine dont tous sauf un datent de plus de un mois.
La syntaxe:
échoue parce qu'elle me sélectionne bien le sous-dossier ancien mais, puisqu'elle ne s'adresse qu'aux dossiers (@isdir==TRUE), ne me retourne pas les fichiers anciens à la racine.
Dans les mêmes conditions, une syntaxe ROBOCOPY que je peux affiner pour supprimer les parasites écran, mais peu importe, sélectionne le dossier parent et le sous-dossier, et donc me vire tout y compris le fichier "récent":
La moralité est qu'il inefficace ou dangereux dans tous les cas de vouloir par une syntaxe simple virer tous les dossiers "anciens"
Il me paraît plus sain (c'est sans problème via FORFILES ou ROBOCOPY) de lister non pas les dossiers mais tous les fichiers antérieurs à cette date et de les supprimer, puis de tester si les dossiers restants sont vides.
Il existe plusieurs syntaxes plus ou moins capillotractées, la plus simple consiste à déplacer via ROBOCOPY le dossier sur lui-même:
ROBOCOPY "Mondossier" "Mondossier" /S /MOVE