Page 1 sur 1

Script de suppression automatique

Posté : 19 oct. 2005, 15:35:52
par Bejito26
Bonjour a tous.

Je recherche actuellement le moyen de faire un script .bat ou .VBS si possible, permettant dasn un dossier défini de supprimer les fichiers vieux de plus de 48h.

Voila, si vous avez une solution ou le moindre truc qui pourrait m'aider
je vous en serz grandement reconnaissant.

;)

++

Posté : 19 oct. 2005, 16:22:29
par Titus
Salut,

Ces fichiers sont stockés dans un seul répertoire?

Posté : 19 oct. 2005, 16:36:49
par alain51
Salut,

Un script de base, avec une extension bat, mais tu peux certainement le modifier :

Code : Tout sélectionner

RD /S /Q "C:\Documents and Settings\Votre_User\Local Settings\Historique"
RD /S /Q "C:\Documents and Settings\Votre_User\Local Settings\Temporary Internet Files"
RD /S /Q "C:\Documents and Settings\Votre_User\Local Settings\Temp"

RD /S /Q "C:\Documents and Settings\Default User\Local Settings\Historique"
RD /S /Q "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files"
RD /S /Q "C:\Documents and Settings\Default User\Local Settings\Temp"
La commande RD avec l’option /S va supprimer tous les répertoires et fichiers du répertoire spécifié en plus du répertoire lui-même. L’option /Q (pour Quiet) active le mode silencieux, c'est-à-dire qu’il n’y a pas de confirmation demandée lors de la suppression.

Tu mets ce fichier dans C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown.

Lance ensuite gpedit.msc (menu Démarrer, Exécuter… et tape gpedit.msc)
Dans la fenêtre de gauche, sélectionne Paramètres Windows puis Scripts (démarrage/arrêt). Dans la fenêtre de droite, double clique sur Arrêter le système et ajoute ton script.

Pour les 48 heures, je ne sais pas !
Mais tu peux regarder cette discussion.

Posté : 20 oct. 2005, 07:14:38
par Bejito26
En fait on a des scanners réseaux qui enregistre sur

\\fr1srv57\scancompta
\\nomduserveur\repertoire specifique au scan (ici compta)

Pour éviter de surgarger le serveur on voulait mettre en place un script qui tourne automatiquement le soir (taches planifiés) pour supprimer les scan des utilisateurs datant de plus de 48h sur les 3 répertoires (1 pour chaque scanner).

Je vais tester ce qu'il propose la ou tu m'as envoyé alain.
Je vous tiens au courant.

++

Posté : 14 nov. 2005, 09:17:13
par Bejito26
excusez le double-post.

Donc j'ai essayé de faire le script depuis ce qu'on m'a donné.
Le problème c'est que je ne suis pas super doué en VB.
Si quelqu'un pouvait m'aider à faire le script se serait sympa.

Merci d'avance

Edit : Oui Titus c'est bien celui que t'a posté en dessous qui sert de base.
En fait, le script doit être lancé pour supprimer les fichiers vieux de 48h dans un dossier réseau partagé, style \\fr1srv57\scan_compta

Posté : 14 nov. 2005, 11:36:20
par Titus
Salut,

Je ne suis pas doué du tout en VB, mais c'est bien ce script-ci qui sert de base?

Code : Tout sélectionner

Function getExtension(strFileName)  
  Dim p
  p = RInStr(strFileName,".")
  If p > 0 Then getExtension = Mid(strFileName,p+1) Else getExtension = ""
End Function
 
Function delFiles(strPath,strExt,intDays)  
 Dim fs
 fs = New Scripting.FileSystemObject
 If fs.FolderExists(strPath) Then
   Dim folder
   folder = fs.GetFolder(strPath)
   If folder.Files.Count > 0 Then
     Dim nFiles
     nFiles = 0
     For Each checkedFile In folder.Files
       If getExtension(checkedFile.Name) = strExt And DateDiff("d",Now,checkedFile.DateCreated) >= intDays Then
         checkedFile.Delete True
         nFiles = nFiles + 1
       Else
         '*** le fichier n'a pas la bonne extension, on s'en fout
       End If
     Next
     delFiles = nFiles
   Else
     delFiles = -2
   End If
 Else
   delFiles = -1
 End If
End Function
Je me suis permis de le coller ici, cela peut donner des idées à un initié.