Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [batch] effacer fichier de plus de 30 jours

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[batch] effacer fichier de plus de 30 jours

n°1152740
akabis
.
Posté le 18-07-2005 à 16:55:41  profilanswer
 

Voila,
 
j'aimerai mettre en place un batc sous ms-dos qui permet de supprimer tous les fichiers de plus de 30 jours.
Je suis sur une piste mais ça ne marche pas bien.
 
J'utilise ISDATE en utilisant le batch suivant:
 
for %%x in (*.*) do (
isdate %%x before today -30 > nul
if errorlevel 0 del %%x
)
 
Le problème est la variable %%x qui devrait prendre le nom du fichier.
Ca fonctionne pour la commande ISDATE, par contre pour la commande DEL, si le fichier contient un espace dans son nom ça ne fonctionne pas.
 
donc si vous avez une idée ou une autre piste ...

mood
Publicité
Posté le 18-07-2005 à 16:55:41  profilanswer
 

n°1153040
wackevat
Posté le 18-07-2005 à 21:29:34  profilanswer
 

del "%%x" ?

n°1153704
akabis
.
Posté le 19-07-2005 à 14:20:48  profilanswer
 


 
je dois expliquer le code?
 
for %%x in (*.*) do ( pour la variable x prenant la valeur de tous les fichier, faire
isdate %%x before today -30 > nul tester si date du fichier > 30jours, ne pas renvoyer valeur
if errorlevel 0 del %%x si valeur de l'erreur isdate= 0 effacer le nom de fichier pris par la variable x
 
 

n°1153937
wackevat
Posté le 19-07-2005 à 17:13:14  profilanswer
 

Non, je voulais dire que, à la place de del %%x, tu devais mettre les guillemets pour prendre en compte des chemins contenant des espaces.
--> del "%%x"

n°1154742
alabastro
Posté le 20-07-2005 à 14:21:30  profilanswer
 

akabis, je veux faire la meme chose que toi. Si ton script fonctionne peux-tu le poster.
Merci

n°1164297
qapoka
Posté le 29-07-2005 à 09:52:52  profilanswer
 

J'ai tester le même code que toi soit :
 
for %%a in (Dossier\*) do (
isdate %%a before today -30 > nul  
if errorlevel 0 del "%%a"
)  
pause
 
et j'obtient un message comme quoi isdate ne serait pas une commande interne ou externe ou un programme executable.
 
En testant help isdate, il ne reconnait pas non plus.

n°1164378
wackevat
Posté le 29-07-2005 à 10:38:59  profilanswer
 
n°1173294
akuaverde
Posté le 09-08-2005 à 15:16:20  profilanswer
 

Bonjour,
 
Ce script m'intéresse énormément. Je l'ai testé mais ca ne fonctionne pas correctement, en effet ça supprime tous les fichiers du dossier même ceux qui viennent d'être créés :pt1cable:
 
Je ne m'y connais vraiment pas en batch, si quelqu'un peut me donner un coup de main ? :whistle:
 
Merci :hello: :jap:

n°1173321
wackevat
Posté le 09-08-2005 à 15:47:39  profilanswer
 

Tu as récupéré isdate.exe ?
Fais des echo au lieu des del pour le test.
 
Sinon, regarde ce topic :
http://forum.hardware.fr/hardwaref [...] 3264-1.htm
et
http://forum.hardware.fr/hardwaref [...] 4959-1.htm
dans lequel j'ai commenté un peu l'autre script.
Précise ton OS et vérifie tes params régionaux.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [batch] effacer fichier de plus de 30 jours

 

Sujets relatifs
Lecture d'un fichier a l'extention .phpDate de creation d'un fichier
javascript et fichier .jsouverture de fichier
Supprimer le fichier session, est ce possible..Faire une recherche avec un Batch
Ecrire de gros fichier texte en C++ purMAJ d'un fichier texte
problem lecture d un fichier texte !![D4] Ds quel fichier du cd de D4 cette aide précise ?
Plus de sujets relatifs à : [batch] effacer fichier de plus de 30 jours


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR