Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Re: Nettoyage auto de vieux fichiers ???

5 réponses
Avatar
toon
Ce message provient de "microsoft.public.windows.server.administration".
Le but du script est de supprimer dans un repertoire d'echange temporaire,
tous les fichiers de plus de 30 jours (en modification).
D'avance merci pour votre aide !!!
Je continue tout de meme mes investigations dans le vaste monde du vbs :- )

J'arrive a descendre dans un niveau de repertoire avec le script ci-dessous,
mais comment faire pour descendre dans dix niveaux de sous repertoire par
exemple ???
Le programme ci-dessus affiche juste les fichiers sans les effaces, c'est
juste une phase de mise au point.
J'ai beau chercher comme un ouf dans tous les sens, je ne trouve pas. Meme
en m'inspirant des scripts du "System Administration Scripting Guide" de
Microsoft, j'ai du mal. Pourtant c'est pas faute d'essayer.
Faut vraiment que je progresse en VBS !!!

****************************************
Dim fso, oFolder, colFiles, colFolders, file, folder, colSubfolders1

Const MON_DOSSIER_ECHANGE = "c:\vbs"
Const DELAI=30 'en jours

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MON_DOSSIER_ECHANGE)
Set colSubfolders = objFolder.Subfolders

'*DEBUT DU PROGRAMME

TestFile

For Each objSubfolder in colSubfolders

TestFileSubfolder

Next

'*SOUS PROGRAMME

Sub TestFile
Set colFiles = objFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub

Sub TestFileSubfolder
Set colFiles = objSubFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub
****************************************


"jmh" <jmh@inria.fr> a écrit dans le message de news:
O8#$MVPvEHA.2116@TK2MSFTNGP14.phx.gbl...
> toon a écrit :
> > Bonjour.
> >
> > J'ai mis en place sur un de mes serveurs, une zone d'echange de fichier
> > temporaire que je compte purger regulierement. L'objectif etant de
supprimer
> > par exemple toute les semaines, tous les fichiers qui auraient plus d'un
> > mois d'existence.
> > Une zone d'echange temporaire quoi !!!
> >
> > Si vous avez une idee, je suis preneur. Je cherche en ce moment sur des
> > scripts en kixtart, avant de me mettre serieusement au vbs.
> >
> >
> Sauf erreur de frappe voila un début de solution qui pourrait convenir :
>
> mon_script.vbs :
> -------------------------------------------------------
> Const MON_DOSSIER_ECHANGE = "z:\chemin\blabla"
> Const DELAI=30 'en jours
> Dim fso, oFolder, colFiles, file
>
> Set fso = createobject("Scripting.FileSystemObject")
> Set oFolder = fso.GetFolder(MON_DOSSIER_ECHANGE)
> Set colFiles = oFolder.Files
>
> For Each file In colFiles
> 'Test sur la date de dernière modif
> If DateDiff("d", file.DateLastModified, Now)>DELAI Then
> file.delete(True)
> end if
>
> 'ou bien test sur la date de création
> 'If DateDiff("d", file.DateCreated, Now)>DELAI Then
> ' file.delete(True)
> 'end if
> Loop
>
> Set colFiles = Nothings
> Set oFolder = Nothing
> Set fos = Nothing
> -------------------------------------------------------
>
> A lancer chaque jour avec la plannificateur de tache :
> cscript //nologo //batch mon_script.vbs
>
> L'étape suivante : parcourir une arborescence de répertoire, plutot q'un
> seul.....un bon début pour commencer avec les scripts
>
>
> Ce script n'a pas été testé...l'utiliser n'engage que celui qui
> l'utilise ! ...perte de donnée.....blablabla
> bye

5 réponses

Avatar
Fred
Bonjour,
Il faut essayer la récursion. Je n'ai pas testé en VB Script mais il n'y a
pas de raison que cela ne fonctionne pas.
Quelque chose comme :

Sub TraiterDossier(oFolder)
For each oFile in oFolder.Files
bla bla
Next
For each oSubFolder in oFolder.SubFolders
TraiterDossier oSubFolder
Next
End Sub

"toon" a écrit dans le message de
news:%
Ce message provient de "microsoft.public.windows.server.administration".
Le but du script est de supprimer dans un repertoire d'echange temporaire,
tous les fichiers de plus de 30 jours (en modification).
D'avance merci pour votre aide !!!
Je continue tout de meme mes investigations dans le vaste monde du vbs
:- )


J'arrive a descendre dans un niveau de repertoire avec le script
ci-dessous,

mais comment faire pour descendre dans dix niveaux de sous repertoire par
exemple ???
Le programme ci-dessus affiche juste les fichiers sans les effaces, c'est
juste une phase de mise au point.
J'ai beau chercher comme un ouf dans tous les sens, je ne trouve pas. Meme
en m'inspirant des scripts du "System Administration Scripting Guide" de
Microsoft, j'ai du mal. Pourtant c'est pas faute d'essayer.
Faut vraiment que je progresse en VBS !!!

****************************************
Dim fso, oFolder, colFiles, colFolders, file, folder, colSubfolders1

Const MON_DOSSIER_ECHANGE = "c:vbs"
Const DELAI0 'en jours

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MON_DOSSIER_ECHANGE)
Set colSubfolders = objFolder.Subfolders

'*DEBUT DU PROGRAMME

TestFile

For Each objSubfolder in colSubfolders

TestFileSubfolder

Next

'*SOUS PROGRAMME

Sub TestFile
Set colFiles = objFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub

Sub TestFileSubfolder
Set colFiles = objSubFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub
****************************************


"jmh" a écrit dans le message de news:
O8#$
Bonjour.

J'ai mis en place sur un de mes serveurs, une zone d'echange de
fichier



temporaire que je compte purger regulierement. L'objectif etant de
supprimer


par exemple toute les semaines, tous les fichiers qui auraient plus
d'un



mois d'existence.
Une zone d'echange temporaire quoi !!!

Si vous avez une idee, je suis preneur. Je cherche en ce moment sur
des



scripts en kixtart, avant de me mettre serieusement au vbs.


Sauf erreur de frappe voila un début de solution qui pourrait convenir :


mon_script.vbs :
-------------------------------------------------------
Const MON_DOSSIER_ECHANGE = "z:cheminblabla"
Const DELAI0 'en jours
Dim fso, oFolder, colFiles, file

Set fso = createobject("Scripting.FileSystemObject")
Set oFolder = fso.GetFolder(MON_DOSSIER_ECHANGE)
Set colFiles = oFolder.Files

For Each file In colFiles
'Test sur la date de dernière modif
If DateDiff("d", file.DateLastModified, Now)>DELAI Then
file.delete(True)
end if

'ou bien test sur la date de création
'If DateDiff("d", file.DateCreated, Now)>DELAI Then
' file.delete(True)
'end if
Loop

Set colFiles = Nothings
Set oFolder = Nothing
Set fos = Nothing
-------------------------------------------------------

A lancer chaque jour avec la plannificateur de tache :
cscript //nologo //batch mon_script.vbs

L'étape suivante : parcourir une arborescence de répertoire, plutot q'un
seul.....un bon début pour commencer avec les scripts


Ce script n'a pas été testé...l'utiliser n'engage que celui qui
l'utilise ! ...perte de donnée.....blablabla
bye









Avatar
toon
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10 par
exemple, je sais pas !!!
Merci quand meme :- )

"Fred" a écrit dans le message de news:

Bonjour,
Il faut essayer la récursion. Je n'ai pas testé en VB Script mais il n'y a
pas de raison que cela ne fonctionne pas.
Quelque chose comme :

Sub TraiterDossier(oFolder)
For each oFile in oFolder.Files
bla bla
Next
For each oSubFolder in oFolder.SubFolders
TraiterDossier oSubFolder
Next
End Sub

"toon" a écrit dans le message de
news:%
Ce message provient de "microsoft.public.windows.server.administration".
Le but du script est de supprimer dans un repertoire d'echange
temporaire,


tous les fichiers de plus de 30 jours (en modification).
D'avance merci pour votre aide !!!
Je continue tout de meme mes investigations dans le vaste monde du vbs
:- )


J'arrive a descendre dans un niveau de repertoire avec le script
ci-dessous,

mais comment faire pour descendre dans dix niveaux de sous repertoire
par


exemple ???
Le programme ci-dessus affiche juste les fichiers sans les effaces,
c'est


juste une phase de mise au point.
J'ai beau chercher comme un ouf dans tous les sens, je ne trouve pas.
Meme


en m'inspirant des scripts du "System Administration Scripting Guide" de
Microsoft, j'ai du mal. Pourtant c'est pas faute d'essayer.
Faut vraiment que je progresse en VBS !!!

****************************************
Dim fso, oFolder, colFiles, colFolders, file, folder, colSubfolders1

Const MON_DOSSIER_ECHANGE = "c:vbs"
Const DELAI0 'en jours

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MON_DOSSIER_ECHANGE)
Set colSubfolders = objFolder.Subfolders

'*DEBUT DU PROGRAMME

TestFile

For Each objSubfolder in colSubfolders

TestFileSubfolder

Next

'*SOUS PROGRAMME

Sub TestFile
Set colFiles = objFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub

Sub TestFileSubfolder
Set colFiles = objSubFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub
****************************************


"jmh" a écrit dans le message de news:
O8#$
Bonjour.

J'ai mis en place sur un de mes serveurs, une zone d'echange de
fichier



temporaire que je compte purger regulierement. L'objectif etant de
supprimer


par exemple toute les semaines, tous les fichiers qui auraient plus
d'un



mois d'existence.
Une zone d'echange temporaire quoi !!!

Si vous avez une idee, je suis preneur. Je cherche en ce moment sur
des



scripts en kixtart, avant de me mettre serieusement au vbs.


Sauf erreur de frappe voila un début de solution qui pourrait convenir

:




mon_script.vbs :
-------------------------------------------------------
Const MON_DOSSIER_ECHANGE = "z:cheminblabla"
Const DELAI0 'en jours
Dim fso, oFolder, colFiles, file

Set fso = createobject("Scripting.FileSystemObject")
Set oFolder = fso.GetFolder(MON_DOSSIER_ECHANGE)
Set colFiles = oFolder.Files

For Each file In colFiles
'Test sur la date de dernière modif
If DateDiff("d", file.DateLastModified, Now)>DELAI Then
file.delete(True)
end if

'ou bien test sur la date de création
'If DateDiff("d", file.DateCreated, Now)>DELAI Then
' file.delete(True)
'end if
Loop

Set colFiles = Nothings
Set oFolder = Nothing
Set fos = Nothing
-------------------------------------------------------

A lancer chaque jour avec la plannificateur de tache :
cscript //nologo //batch mon_script.vbs

L'étape suivante : parcourir une arborescence de répertoire, plutot
q'un



seul.....un bon début pour commencer avec les scripts


Ce script n'a pas été testé...l'utiliser n'engage que celui qui
l'utilise ! ...perte de donnée.....blablabla
bye













Avatar
toon
C'est bon j'ai trouve !!!
Je me suis inspire du script de ce site :
http://www.borncity.de/WSHBazaar/WSHRecurseFolders.htm

L'adaptation devrait etre facile desormais.
Merci a toutes les personnes qui se sont interesse de pres ou de loin a mon
probleme.

"toon" a écrit dans le message de news:
#
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10 par
exemple, je sais pas !!!
Merci quand meme :- )

"Fred" a écrit dans le message de news:

Bonjour,
Il faut essayer la récursion. Je n'ai pas testé en VB Script mais il n'y
a


pas de raison que cela ne fonctionne pas.
Quelque chose comme :

Sub TraiterDossier(oFolder)
For each oFile in oFolder.Files
bla bla
Next
For each oSubFolder in oFolder.SubFolders
TraiterDossier oSubFolder
Next
End Sub

"toon" a écrit dans le message de
news:%
Ce message provient de
"microsoft.public.windows.server.administration".



Le but du script est de supprimer dans un repertoire d'echange
temporaire,


tous les fichiers de plus de 30 jours (en modification).
D'avance merci pour votre aide !!!
Je continue tout de meme mes investigations dans le vaste monde du vbs
:- )


J'arrive a descendre dans un niveau de repertoire avec le script
ci-dessous,

mais comment faire pour descendre dans dix niveaux de sous repertoire
par


exemple ???
Le programme ci-dessus affiche juste les fichiers sans les effaces,
c'est


juste une phase de mise au point.
J'ai beau chercher comme un ouf dans tous les sens, je ne trouve pas.
Meme


en m'inspirant des scripts du "System Administration Scripting Guide"
de



Microsoft, j'ai du mal. Pourtant c'est pas faute d'essayer.
Faut vraiment que je progresse en VBS !!!

****************************************
Dim fso, oFolder, colFiles, colFolders, file, folder, colSubfolders1

Const MON_DOSSIER_ECHANGE = "c:vbs"
Const DELAI0 'en jours

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MON_DOSSIER_ECHANGE)
Set colSubfolders = objFolder.Subfolders

'*DEBUT DU PROGRAMME

TestFile

For Each objSubfolder in colSubfolders

TestFileSubfolder

Next

'*SOUS PROGRAMME

Sub TestFile
Set colFiles = objFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub

Sub TestFileSubfolder
Set colFiles = objSubFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub
****************************************


"jmh" a écrit dans le message de news:
O8#$
Bonjour.

J'ai mis en place sur un de mes serveurs, une zone d'echange de
fichier



temporaire que je compte purger regulierement. L'objectif etant de
supprimer


par exemple toute les semaines, tous les fichiers qui auraient
plus





d'un
mois d'existence.
Une zone d'echange temporaire quoi !!!

Si vous avez une idee, je suis preneur. Je cherche en ce moment
sur





des
scripts en kixtart, avant de me mettre serieusement au vbs.


Sauf erreur de frappe voila un début de solution qui pourrait

convenir




:

mon_script.vbs :
-------------------------------------------------------
Const MON_DOSSIER_ECHANGE = "z:cheminblabla"
Const DELAI0 'en jours
Dim fso, oFolder, colFiles, file

Set fso = createobject("Scripting.FileSystemObject")
Set oFolder = fso.GetFolder(MON_DOSSIER_ECHANGE)
Set colFiles = oFolder.Files

For Each file In colFiles
'Test sur la date de dernière modif
If DateDiff("d", file.DateLastModified, Now)>DELAI Then
file.delete(True)
end if

'ou bien test sur la date de création
'If DateDiff("d", file.DateCreated, Now)>DELAI Then
' file.delete(True)
'end if
Loop

Set colFiles = Nothings
Set oFolder = Nothing
Set fos = Nothing
-------------------------------------------------------

A lancer chaque jour avec la plannificateur de tache :
cscript //nologo //batch mon_script.vbs

L'étape suivante : parcourir une arborescence de répertoire, plutot
q'un



seul.....un bon début pour commencer avec les scripts


Ce script n'a pas été testé...l'utiliser n'engage que celui qui
l'utilise ! ...perte de donnée.....blablabla
bye

















Avatar
Fred
Bonjour,
Le squelette de script que j'avais proposé descend dans autant de niveaux
que nécessaire.
La seule limite est la mémoire disponible pour effectuer les appels
récursifs (La procédure TraiterDossier s'appelle elle même).
Dans le script que vous avez trouvé, c'est exactement le principe qui est
utilisé.



"toon" a écrit dans le message de
news:
C'est bon j'ai trouve !!!
Je me suis inspire du script de ce site :
http://www.borncity.de/WSHBazaar/WSHRecurseFolders.htm

L'adaptation devrait etre facile desormais.
Merci a toutes les personnes qui se sont interesse de pres ou de loin a
mon

probleme.

"toon" a écrit dans le message de news:
#
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10 par
exemple, je sais pas !!!
Merci quand meme :- )

"Fred" a écrit dans le message de news:

Bonjour,
Il faut essayer la récursion. Je n'ai pas testé en VB Script mais il
n'y



a
pas de raison que cela ne fonctionne pas.
Quelque chose comme :

Sub TraiterDossier(oFolder)
For each oFile in oFolder.Files
bla bla
Next
For each oSubFolder in oFolder.SubFolders
TraiterDossier oSubFolder
Next
End Sub

"toon" a écrit dans le message de
news:%
Ce message provient de
"microsoft.public.windows.server.administration".



Le but du script est de supprimer dans un repertoire d'echange
temporaire,


tous les fichiers de plus de 30 jours (en modification).
D'avance merci pour votre aide !!!
Je continue tout de meme mes investigations dans le vaste monde du
vbs




:- )

J'arrive a descendre dans un niveau de repertoire avec le script
ci-dessous,

mais comment faire pour descendre dans dix niveaux de sous
repertoire




par
exemple ???
Le programme ci-dessus affiche juste les fichiers sans les effaces,
c'est


juste une phase de mise au point.
J'ai beau chercher comme un ouf dans tous les sens, je ne trouve
pas.




Meme
en m'inspirant des scripts du "System Administration Scripting
Guide"




de
Microsoft, j'ai du mal. Pourtant c'est pas faute d'essayer.
Faut vraiment que je progresse en VBS !!!

****************************************
Dim fso, oFolder, colFiles, colFolders, file, folder, colSubfolders1

Const MON_DOSSIER_ECHANGE = "c:vbs"
Const DELAI0 'en jours

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MON_DOSSIER_ECHANGE)
Set colSubfolders = objFolder.Subfolders

'*DEBUT DU PROGRAMME

TestFile

For Each objSubfolder in colSubfolders

TestFileSubfolder

Next

'*SOUS PROGRAMME

Sub TestFile
Set colFiles = objFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub

Sub TestFileSubfolder
Set colFiles = objSubFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub
****************************************


"jmh" a écrit dans le message de news:
O8#$
Bonjour.

J'ai mis en place sur un de mes serveurs, une zone d'echange de
fichier



temporaire que je compte purger regulierement. L'objectif etant
de






supprimer
par exemple toute les semaines, tous les fichiers qui auraient
plus





d'un
mois d'existence.
Une zone d'echange temporaire quoi !!!

Si vous avez une idee, je suis preneur. Je cherche en ce moment
sur





des
scripts en kixtart, avant de me mettre serieusement au vbs.


Sauf erreur de frappe voila un début de solution qui pourrait

convenir




:

mon_script.vbs :
-------------------------------------------------------
Const MON_DOSSIER_ECHANGE = "z:cheminblabla"
Const DELAI0 'en jours
Dim fso, oFolder, colFiles, file

Set fso = createobject("Scripting.FileSystemObject")
Set oFolder = fso.GetFolder(MON_DOSSIER_ECHANGE)
Set colFiles = oFolder.Files

For Each file In colFiles
'Test sur la date de dernière modif
If DateDiff("d", file.DateLastModified, Now)>DELAI Then
file.delete(True)
end if

'ou bien test sur la date de création
'If DateDiff("d", file.DateCreated, Now)>DELAI Then
' file.delete(True)
'end if
Loop

Set colFiles = Nothings
Set oFolder = Nothing
Set fos = Nothing
-------------------------------------------------------

A lancer chaque jour avec la plannificateur de tache :
cscript //nologo //batch mon_script.vbs

L'étape suivante : parcourir une arborescence de répertoire,
plutot





q'un
seul.....un bon début pour commencer avec les scripts


Ce script n'a pas été testé...l'utiliser n'engage que celui qui
l'utilise ! ...perte de donnée.....blablabla
bye





















Avatar
toon
Exact ... tu as raison, mais je me suis inspire de ton script et du principe
de recursivite !!!
Merci ;- )

"Fred" a écrit dans le message de news:
#
Bonjour,
Le squelette de script que j'avais proposé descend dans autant de niveaux
que nécessaire.
La seule limite est la mémoire disponible pour effectuer les appels
récursifs (La procédure TraiterDossier s'appelle elle même).
Dans le script que vous avez trouvé, c'est exactement le principe qui est
utilisé.



"toon" a écrit dans le message de
news:
C'est bon j'ai trouve !!!
Je me suis inspire du script de ce site :
http://www.borncity.de/WSHBazaar/WSHRecurseFolders.htm

L'adaptation devrait etre facile desormais.
Merci a toutes les personnes qui se sont interesse de pres ou de loin a
mon

probleme.

"toon" a écrit dans le message de news:
#
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10
par



exemple, je sais pas !!!
Merci quand meme :- )

"Fred" a écrit dans le message de news:

Bonjour,
Il faut essayer la récursion. Je n'ai pas testé en VB Script mais il
n'y



a
pas de raison que cela ne fonctionne pas.
Quelque chose comme :

Sub TraiterDossier(oFolder)
For each oFile in oFolder.Files
bla bla
Next
For each oSubFolder in oFolder.SubFolders
TraiterDossier oSubFolder
Next
End Sub

"toon" a écrit dans le message de
news:%
Ce message provient de
"microsoft.public.windows.server.administration".



Le but du script est de supprimer dans un repertoire d'echange
temporaire,


tous les fichiers de plus de 30 jours (en modification).
D'avance merci pour votre aide !!!
Je continue tout de meme mes investigations dans le vaste monde du
vbs




:- )

J'arrive a descendre dans un niveau de repertoire avec le script
ci-dessous,

mais comment faire pour descendre dans dix niveaux de sous
repertoire




par
exemple ???
Le programme ci-dessus affiche juste les fichiers sans les
effaces,





c'est
juste une phase de mise au point.
J'ai beau chercher comme un ouf dans tous les sens, je ne trouve
pas.




Meme
en m'inspirant des scripts du "System Administration Scripting
Guide"




de
Microsoft, j'ai du mal. Pourtant c'est pas faute d'essayer.
Faut vraiment que je progresse en VBS !!!

****************************************
Dim fso, oFolder, colFiles, colFolders, file, folder,
colSubfolders1






Const MON_DOSSIER_ECHANGE = "c:vbs"
Const DELAI0 'en jours

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(MON_DOSSIER_ECHANGE)
Set colSubfolders = objFolder.Subfolders

'*DEBUT DU PROGRAMME

TestFile

For Each objSubfolder in colSubfolders

TestFileSubfolder

Next

'*SOUS PROGRAMME

Sub TestFile
Set colFiles = objFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub

Sub TestFileSubfolder
Set colFiles = objSubFolder.Files
For Each file in colFiles
Wscript.echo file
'Test sur la date de dernière modif
'If DateDiff("d", file.DateLastModified, Now)>DELAI Then
'file.delete(True)
'Wscript.echo file
'End if
Next
End Sub
****************************************


"jmh" a écrit dans le message de news:
O8#$
Bonjour.

J'ai mis en place sur un de mes serveurs, une zone d'echange
de







fichier
temporaire que je compte purger regulierement. L'objectif
etant







de
supprimer
par exemple toute les semaines, tous les fichiers qui auraient
plus





d'un
mois d'existence.
Une zone d'echange temporaire quoi !!!

Si vous avez une idee, je suis preneur. Je cherche en ce
moment







sur
des
scripts en kixtart, avant de me mettre serieusement au vbs.


Sauf erreur de frappe voila un début de solution qui pourrait

convenir




:

mon_script.vbs :
-------------------------------------------------------
Const MON_DOSSIER_ECHANGE = "z:cheminblabla"
Const DELAI0 'en jours
Dim fso, oFolder, colFiles, file

Set fso = createobject("Scripting.FileSystemObject")
Set oFolder = fso.GetFolder(MON_DOSSIER_ECHANGE)
Set colFiles = oFolder.Files

For Each file In colFiles
'Test sur la date de dernière modif
If DateDiff("d", file.DateLastModified, Now)>DELAI Then
file.delete(True)
end if

'ou bien test sur la date de création
'If DateDiff("d", file.DateCreated, Now)>DELAI Then
' file.delete(True)
'end if
Loop

Set colFiles = Nothings
Set oFolder = Nothing
Set fos = Nothing
-------------------------------------------------------

A lancer chaque jour avec la plannificateur de tache :
cscript //nologo //batch mon_script.vbs

L'étape suivante : parcourir une arborescence de répertoire,
plutot





q'un
seul.....un bon début pour commencer avec les scripts


Ce script n'a pas été testé...l'utiliser n'engage que celui qui
l'utilise ! ...perte de donnée.....blablabla
bye