GNT sans publicité, site mobile, fonctionnalitées exclusives...

Re: Nettoyage auto de vieux fichiers ???

Le
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 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" <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 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
Lire les 5 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred
Le #410644
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" 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" 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









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

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













toon
Le #410641
C'est bon j'ai trouve !!!
Je me suis inspire du script de ce site :
http://www.borncity.de/WSHBazaar/WS...olders.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" #
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10 par
exemple, je sais pas !!!
Merci quand meme :- )

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

















Fred
Le #410640
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" news:
C'est bon j'ai trouve !!!
Je me suis inspire du script de ce site :
http://www.borncity.de/WSHBazaar/WS...olders.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" #
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10 par
exemple, je sais pas !!!
Merci quand meme :- )

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





















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

"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" news:
C'est bon j'ai trouve !!!
Je me suis inspire du script de ce site :
http://www.borncity.de/WSHBazaar/WS...olders.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" #
Bonjour.
Descendre d'un niveau je sais faire ... mais de plusieur niveaux, 10
par



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

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

























Publicité
Suivre les réponses
Poster une réponse
Anonyme