[batch] effacer fichier de plus de 30 jours

effacer fichier de plus de 30 jours [batch] - Shell/Batch - Programmation

Marsh Posté le 18-07-2005 à 16:55:41    

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 ...

Reply

Marsh Posté le 18-07-2005 à 16:55:41   

Reply

Marsh Posté le 18-07-2005 à 21:29:34    

del "%%x" ?

Reply

Marsh Posté le 19-07-2005 à 14:20:48    


 
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
 
 

Reply

Marsh Posté le 19-07-2005 à 17:13:14    

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"

Reply

Marsh Posté le 20-07-2005 à 14:21:30    

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

Reply

Marsh Posté le 29-07-2005 à 09:52:52    

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.

Reply

Marsh Posté le 29-07-2005 à 10:38:59    

Reply

Marsh Posté le 09-08-2005 à 15:16:20    

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:

Reply

Marsh Posté le 09-08-2005 à 15:47:39    

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed