OVH Cloud OVH Cloud

Nettoyage auto de vieux fichiers ???

3 réponses
Avatar
toon
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.

3 réponses

Avatar
jmh
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
;- )

Merci ... y a plus qu'a !!!

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