Je souhaite exécuter une minuterie toutes les 5 heures et supprimer les fichiers du dossier de plus de 4 jours. Pourriez-vous s'il vous plaît avec l'exemple de code?Supprimer les fichiers du dossier de plus de 4 jours
Répondre
Comme il n'a pas été mentionné, je recommanderais d'utiliser un System.Threading.Timer
pour quelque chose comme ça. Voici un exemple d'implémentation:
System.Threading.Timer DeleteFileTimer = null;
private void CreateStartTimer()
{
TimeSpan InitialInterval = new TimeSpan(0,0,5);
TimeSpan RegularInterval = new TimeSpan(5,0,0);
DeleteFileTimer = new System.Threading.Timer(QueryDeleteFiles, null,
InitialInterval, RegularInterval);
}
private void QueryDeleteFiles(object state)
{
//Delete Files Here... (Fires Every Five Hours).
//Warning: Don't update any UI elements from here without Invoke()ing
System.Diagnostics.Debug.WriteLine("Deleting Files...");
}
private void StopDestroyTimer()
{
DeleteFileTimer.Change(System.Threading.Timeout.Infinite,
System.Threading.Timeout.Infinite);
DeleteFileTimer.Dispose();
}
De cette façon, vous pouvez exécuter votre code de suppression de fichiers dans un service de fenêtres avec un minimum de tracas.
Merci pour votre suggestion. Quand dois-je utiliser le StopDestroyTimer()? –
Appelez simplement lorsque vous souhaitez que la minuterie s'arrête ou lorsque votre service/application est en cours d'arrêt. La chose la plus importante est de l'appeler parfois - (System.Threading.) Timer implémente IDisposable de sorte que l'appel à Dispose() est nécessaire. –
Merci encore. Je l'ai. –
DateTime CutOffDate = DateTime.Now.AddDays(-4)
DirectoryInfo di = new DirectoryInfo(folderPath);
FileInfo[] fi = di.GetFiles();
for (int i = 0; i < fi.Length; i++)
{
if (fi[i].LastWriteTime < CutOffDate)
{
File.Delete(fi[i].FullName);
}
}
Vous pouvez remplacer LastWriteTime
propriété pour quelque chose d'autre, qui est exactement ce que j'utilise quand déblayer un cache d'image dans une application que j'ai.
EDIT:
Bien que cela ne marche pas inclure la partie de la minuterie ... Je vous laisse comprendre cette partie vous-même. Un peu de googling devrait vous montrer plusieurs façons de le faire sur un calendrier.
Merci Neil pour le code. C'est ce que je cherche. –
- 1. Cron Job - Commande pour supprimer tous les fichiers .flv tous les jours
- 2. Supprimer tout sauf les 4 nouveaux répertoires
- 3. Comment puis-je me connecter à un site FTP et supprimer des fichiers datant de plus de 7 jours?
- 4. Saisir tous les 4 fichiers
- 5. Sélectionnez les plus vues De la dernière 7 jours
- 6. Travail d'agent SQL Server pour les 4 premiers jours du mois
- 7. Supprimer tous les fichiers de svn repository
- 8. Comment supprimer des fichiers via FTP lorsque le répertoire contient plus de 100 000 fichiers?
- 9. Supprimer les anciens fichiers de sauvegarde
- 10. Supprimer les espaces dans les noms de fichiers apache
- 11. PHP: Manière la plus simple de supprimer un dossier (y compris son contenu)
- 12. Lire des fichiers de plus de 4 Go en utilisant C++ stl
- 13. Déplacez les fichiers du référentiel sous un dossier différent
- 14. Copie de fichiers du sous-dossier vers le dossier à l'aide de SSH
- 15. Pourquoi git continue de supprimer mon dossier?
- 16. migration vers TFS 2008, build ne déplace plus les fichiers de ressources dans le dossier bin
- 17. Comment supprimer un dossier de Windows Distributed File System?
- 18. Analyse du code de Delphi 4
- 19. différence de taille entre la taille du dossier du Finder et du gestionnaire de fichiers Carbon
- 20. Les fichiers journaux WSS sont de plus en plus incontrôlables
- 21. Lot Supprimer les fichiers à partir du fichier cmd ligne
- 22. Quel type pour un entier de plus de 4 octets?
- 23. Plesk supprimer des fichiers journaux IIS?
- 24. Placer les fichiers du sous-dossier de projet dans le répertoire de sortie
- 25. Supprimer le répertoire de SVN sans le supprimer du serveur
- 26. Téléchargement de fichiers dans un dossier situé au-dessus du dossier actuel
- 27. Chargement de tous les fichiers dans un dossier avec Flex
- 28. Afficher tous les noms de fichiers d'un dossier spécifique
- 29. Comment configurer Eclipse pour ne pas supprimer le contenu du dossier classes lors de la compilation?
- 30. Impossible de supprimer les fichiers récursivement de Git
Y at-il une partie spécifique de ceci vous avez besoin de l'aide? Personne ne va simplement écrire le code pour vous. –