> Tous les forums > Forum Windows 10
 Fichier batch pour automatisation sauvegardeSujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
bececoste
  Posté le 22/02/2018 @ 10:34 
Aller en bas de la page 
Astucienne

Normal 0 21 false false false FR X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Tableau Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-fareast-language:EN-US;}

Bonjour,

J’utilise quotidiennement et en tâche planifiée, un logiciel de sauvegarde incrémentielle (FreeFileSync) depuis plusieurs années. Mais récemment, j’ai utilisé la fonction Versioning qui me crée un dossier journalier avec les fichiers supprimés. Ces dossiers sont nommés avec la date du jour.

Ce que je désirerais, c’est que, après 31 jours (soit 31 dossiers), une tâche planifiée pointant vers un fichier.bat (ou autre car je ne m’y connais pas dans ce domaine), supprime systématiquement les dossiers antérieurs.

Jusqu’à présent, je suis obligée de le faire manuellement chaque jour et cela devient assez contraignant.

J’espère m’être bien exprimée et être dans le bon forum.

Je vous remercie par avance de votre aide.

Bonne journée.

Publicité
Daneel Olivaw
 Posté le 22/02/2018 à 18:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Essaye cette commande :

FORFILES /S /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"

Mets-la dans un fichier batch et mets le fichier dans le dossier où il y a les sous-dossiers journaliers.

Tu peux le lancer manuellement et vérifier qu'il fonctionne.

Il suffit de créer une tâche planifiée qui le le lance chaque jour à l'heure désirée.

bececoste
 Posté le 22/02/2018 à 23:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonsoir Daneel Olivaw,

Je te remercie de ta réponse.

J'ai procédé comme tu m'as dit et j'obtiens l'ouverture d'une fenêtre "Invite de commandes" :

Mais peut-être est-ce normal vu que j'ai supprimé pas mal de dossiers et que je n'en ai actuellement que 13 comme tu peux le voir dans la capture de mon 1er message.

Qu'en penses-tu ?

Daneel Olivaw
 Posté le 22/02/2018 à 23:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Ben oui, c'est normal. C'est une ligne de commande qui s'exécute dans une invite de commande.

Si elle reste ouverte après terminaison de la commande, ajoute une ligne avec exit dans le fichier batch comme ceci :

FORFILES /S /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"
exit

bececoste
 Posté le 22/02/2018 à 23:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Je viens de modifier mon fichier bat mais j'ai exactement la même fenêtre qui apparaît.

Entre temps, j'avais créé des dossiers vides avec les dates de chaque jour + 3 dossiers du mois suivant mais aucun dossier n'a été supprimé.

Daneel Olivaw
 Posté le 22/02/2018 à 23:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Elle apparait, oui, c'est normal, mais elle doit se fermet quand c'est terminé.

C'est la date de dernière modification du dossier que la commande examine, non pas le nom du dossier :

bececoste
 Posté le 22/02/2018 à 23:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

C'est la date de dernière modification du dossier que la commande examine, non pas le nom du dossier

OK, je comprends. Effectivement, cela ne peut donc fonctionner

Dans ce cas, est-ce la raison pour laquelle le fenêtre ne se referme pas ?

Daneel Olivaw
 Posté le 23/02/2018 à 00:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

As-tu bien ajouté exit dans le fichier ?

FORFILES /S /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"
exit

J'ai testé chez moi et la fenêtre se ferme.

Quand tu vas faire tes sauvegardes journalières, les dossiers seront crées avec la date du jour et le script fonctionnera alors.

bececoste
 Posté le 23/02/2018 à 08:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour,

Voilà deux captures pour te montrer exactement ce que j'ai fait :

Pour confirmation : lorsque les 30 dossiers seront créés, le plus ancien sera supprimé et ce, chaque jour, grâce à la tâche planifiée que je vais créer. Ai-je bien compris ?

Très bonne journée.

Publicité
bececoste
 Posté le 23/02/2018 à 22:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

J'ai changé la date de modification (avec Attribute Changer) pour 34 dossiers.

Mais en appliquant le fichier batch, j'obtiens toujours la même fenêtre et aucun dossier n'a été supprimé.

Qu'en penses-tu ?

Daneel Olivaw
 Posté le 24/02/2018 à 01:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

J'ai fais des tests chez moi et ça fonctionne très bien.

Tous les dossiers (et leur contenu) dont la date de dernière modification est inférieure au 25-01-2018, soit plus de 30 jours de la date d'aujourd'hui, ont bien été supprimés.

du 25-01-2018 au 23-02-2018 il y a bien 30 jours. Et la fenêtre se ferme bien automatiquement.



Modifié par Daneel Olivaw le 24/02/2018 01:36
bececoste
 Posté le 24/02/2018 à 08:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour,

Merci encore de ta réponse.

Je ne comprends pas pourquoi cela ne marche pas chez moi ; ce serait pourtant génial car c'est exactement ce que je veux obtenir.

J'ai fait un nouveau test en lançant le fichier bat en mode administrateur et dans ce cas, après environ 30 secondes, la fenêtre d'invite de commande se ferme bien ; sauf que j'ai un accès refusé, et ce pour une longue liste !

Pourrais-tu me donner la raison de ce bug chez moi.

Je voulais te préciser également au cas où cela aurait une importance que le dossier concerné se trouve dans un DD externe dont la lettre de lecteur est W. Je ne sais si cela a une importance dans le code du fichier batch. Pourrais-tu me dire également à quoi correspond chaque lettre de ce fichier, STP.

Bon week-end.

Daneel Olivaw
 Posté le 24/02/2018 à 16:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Otes-moi d'un doute. Où as-tu placé ce fichier batch ? Pas dans le dossier C:\Windows\System32 comme l'indique ta capture j'espère ? Heureusement qu'on te refuse l'accès.

Il doit être placé dans le dossier qui contient les sous-dossiers a supprimer, soit le lecteur W:. La lettre de lecteur n'a pas d'importance.

Si tu fais la commande manuellement, tu doit ouvrir cmd.exe dans le dossier concerné.



Modifié par Daneel Olivaw le 24/02/2018 16:20
bececoste
 Posté le 24/02/2018 à 23:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Pas dans le dossier C:\Windows\System32 comme l'indique ta capture

Non, justement, c'est pourquoi je te précisais à la fin de mon précédent message qu'il s'agissait d'un DD externe. Et je ne comprends pas non plus pourquoi c'est ce dossier System32 qui apparaît ???

Je te mets ci-dessous ma capture pour que tu vois ce qu'il en est exactement :

Une idée me vient à l'esprit, ne serait-ce pas parce qu'il s'agit d'un sous sous-dossier du DD externe.

Bonne nuit.

Daneel Olivaw
 Posté le 24/02/2018 à 23:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Quand tu ouvres cmd.exe par son raccourci ou par recherche, il s'ouvre toujours par défaut dans C:\Windows\System32. Il faut faire très attention.

Une idée me vient à l'esprit, ne serait-ce pas parce qu'il s'agit d'un sous sous-dossier du DD externe.

Non. Le paramètre /s signifie tous les sous-doosiers.

FORFILES /S /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"

Plutôt question de date. Du 24/02 au 15/02 il n'y a pas 30 jours. Donc aucun dossier ne sera supprimé. Et je ne comprends pa ce que viennent faire les dossiers après le 24/02.
Nous n'avons pas encore atteient cette date. La commande examine la date à partir de la date du jours (donc le 24 aujourd'hui et supprime tout ce qui est vieux de plus de 30 jours, donc tout ce qui est antérieur au 26 janvier.

Si tu veux faire des tests, tu peux modifier le paramètre -30 après /D. Ça represente le nombre de jours en arrière. Mets par exemple -10, ça t'évitera de créer 35 dossier pour tester.



Modifié par Daneel Olivaw le 25/02/2018 00:00
bececoste
 Posté le 25/02/2018 à 07:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour Daneel Olivaw,

Cela commence à devenir un peu plus clair pour moi. Je vais donc effectuer les tests dont tu me parles et reviens te donner le résultat dès que je le peux (un peu bousculée en ce moment avec les enfants et petits-enfants !).

Bon dimanche et merci encore.

bececoste
 Posté le 26/02/2018 à 07:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour,

Je progresse grâce à toi. J'ai supprimé les dates ultérieures à la date du jour et modifié le nombre de jours et cela fonctionne excepté que la fenêtre d'invite de commandes ne se ferme pas et voici le message :

Par contre, les dossiers ont bien été supprimés.

Bonne journée.

Publicité
Daneel Olivaw
 Posté le 26/02/2018 à 16:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Elle ne va pas se fermer avec la ligne de commande exécutée manuellement.

Mais si tu exécute le fichier batch avec la ligne exit à la fin, la fenêtre se fermera.

bececoste
 Posté le 26/02/2018 à 22:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

J'ai pourtant mis "exit" dans mon fichier comme en témoigne ma capture écran du 28 à 8 h 15.

Je ne vois pas vraiment ce que tu veux dire par "exécuter manuellement" car je fais simplement un double clic sur mon fichier.bat.

Daneel Olivaw
 Posté le 27/02/2018 à 00:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Ça crève les yeux et on ne fait pas attention.

En fait, ce n'est pas bloqué, mais ça prend un temps fou pour se terminer.

FORFILES /S parcours tous les sous-dossiers pour vérifier la date alors que l'on n'a besoin de connaître que la date du dossier racine.

Au lieu de :

FORFILES /S /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"

Il faut :

FORFILES /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"



Modifié par Daneel Olivaw le 27/02/2018 00:25
bececoste
 Posté le 27/02/2018 à 13:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour Daneel Olivaw,

Super, cela fonctionne parfaitement en supprimant /S.

Par contre, j'ai à nouveau un problème avec la tâche planifiée que j'ai créée. En effet, j'obtiens la même fenêtre d''invite de commandes que celle postée le 24 à 8 h 34. Mais peut-être n'ai-je pas créé cette tâche de façon correcte. Voici diverses captures :

Daneel Olivaw
 Posté le 27/02/2018 à 15:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Mettre "W:\Anciennes versions\données"

Tu peux ausi modifier le batch comme suit :

W:
cd "
W:\Anciennes versions\données"
FORFILES /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"
exit



Modifié par Daneel Olivaw le 27/02/2018 16:17
bececoste
 Posté le 27/02/2018 à 20:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonsoir,

Je vais essayer d'être la plus précise possible :

a) sans résultat :

fenêtre d''invite de commandes postée le 24 à 8 h 34

b) sans résultat :

c) sans résultat :

d) sans résultat :

Je suis désolée de t'ennuyer autant mais j'aimerais tellement y arriver...

bececoste
 Posté le 02/03/2018 à 13:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour Daneel Olivaw,

Je me permets de revenir vers toi car j'aimerais savoir où j'ai pu faire l'erreur lors de la création de la tâche planifiée pour ne parvenir à aucun résultat positif...

Désolée de t'ennuyer à nouveau.

Bonne journée.



Modifié par bececoste le 02/03/2018 13:17
Daneel Olivaw
 Posté le 02/03/2018 à 18:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

J'avais répondu le 28, mais je ne trouve pas ma réponse qui a mystérieusement disparue.

Peux-tu préciser excatement ce qui se passe ?

La tâche s'exécute mais c'est toujours le dossier C:\Windows\System32 qui s'ouvre, ou bien la tâche planifiée ne s'exécute pas du tout ?

Ou autre erreur ?

Daneel Olivaw
 Posté le 02/03/2018 à 19:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Dans la colonne Résultat de la dernière exécution y-a-t-il un message d'erreur ? Si oui, lequel.

Et peux-tu faire une capture de l'arborescence du disque W:\Anciennes versions...

\

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Batch pour resolution automatique de A à Z...
Erreur de format pour ouvrir un fichier .GED
y a t il un temps limite pour renommer un fichier ou un dossier?
Fichier introuvable dans sauvegarde
Emplacement du fichier pour installer W10
TFC (Temp fichier Cleaner) pour win 10 ?
Une sauvegarde système pour pusieurs PC
Sauvegarde de l'historique du fichier
j'ai créer un fichier iso W 10 pour le réinstaller avec sa clef d'origine ?
CD de sauvegarde pour W10
Plus de sujets relatifs à Fichier batch pour automatisation sauvegarde
 > Tous les forums > Forum Windows 10