Donc, dans le travail de sauvegarde, j'ai besoin d'un script batch qui me permettrait de supprimer des fichiers dans un répertoire spécifié, qui sont plus anciens que disons 3 jours. Ce script sera défini comme une tâche planifiée à exécuter à une heure spécifiée chaque jour.
windows-server-2008-r2
batch-file
Chiggins
la source
la source
Réponses:
Si PowerShell est acceptable (devrait l'être, car il est activé par défaut sur Server 2008+), essayez ceci:
Souce ici .
la source
Remove-Item $File -whatif | out-null
. Pour s'exécuter en tant que tâche de planification, le travail doit spécifier le chemin d'accès complet à powershell.exe avec votre script nommé comme argument.Quel
-5
est l'âge des fichiers que vous souhaitez supprimer (5 jours ou plus dans ce cas). Ce script supprime des.rar
fichiers - supprimez le-m *.rar
si vous souhaitez supprimer n'importe quel type de fichier.la source
Si vous insistez pour utiliser des fichiers batch, Robocopy.exe est votre réponse. Son rapide (multithread) et très robuste. Pour votre scénario, vous pouvez utiliser les éléments suivants comme guide:
Il y a une longue liste d'options, veuillez faire une photocopie /? pour les voir tous. Vous pouvez même l'utiliser pour effectuer des sauvegardes incrémentielles, planifier, créer des profils de sauvegarde, etc.
la source
J'aime utiliser DelEn.exe pour cela.
Delen - DELete ENhanced - est une version optimisée de DEL. Il prend en charge les caractères génériques étendus et les répertoires parents, ainsi que les filtres de date, d'heure et de taille. Les fichiers peuvent être exclus de la suppression.
la source
Vous pourriez regarder DelAge32 de Horst Schaeffer:
http://home.mnet-online.de/horst.muc/wbat32.htm#top
Votre commande peut être aussi simple que:
J'ai cette commande exécutée en tant que tâche planifiée.
la source
C'est un script PowerShell que j'ai écrit pour faire ce que vous voulez - il en fait un peu plus aussi. Je l'utilise pour effacer les journaux et autres fichiers temporaires.
purge-dem-logs.cmd
purgelogs.ps1:
la source
Cela ne fonctionnera pas pour les ordinateurs distants. Les administrateurs doivent gérer plusieurs ordinateurs. Vous trouverez ci-dessous le script qui peut être utilisé pour supprimer des dossiers sur plusieurs ordinateurs distants sans avoir à vous y connecter.
Le script ci-dessous supprimera les dossiers de plus de 15 jours. vous pouvez cependant changer le paramètre $ days.
D $ \ Program Files (x86) \ Research In Motion \ BlackBerry Enterprise Server \ Logs est le chemin UNC du dossier Blackberry Log. Vous pouvez changer le répertoire où se trouvent vos journaux / dossiers.
Répertoriez tous vos noms de serveur dans le fichier servers.txt et il devrait se trouver dans le même répertoire que ce script.
Enregistrez le script sous .ps1 et exécutez-le. Vous pouvez le planifier via un fichier batch. De cette façon, vous devez ajouter la commande Change Directory au début du script.
S'amuser.
la source
Comme approche alternative: au lieu de compter sur l'interrogation du système de fichiers pour obtenir les heures de création de fichiers (et frapper les mêmes fichiers sur plusieurs jours, jusqu'à leur expiration), vous pouvez ajouter le fichier à votre propre index au moment de la création. L'index pourrait être aussi simple qu'un fichier nommé d'après la date de création, stocké dans un emplacement connu, avec un fichier par ligne.
Si vous disposez d'une application multithread / multiprocessus créant des fichiers, vous souhaiterez peut-être que votre index soit géré de manière plus sophistiquée.
L'avantage serait que vous ayez toujours une liste de fichiers relativement simple à créer un certain jour que vous pouvez parcourir, plutôt que d'avoir à demander au système de fichiers encore et encore des détails.
(Cela dépendrait de l'application et de la création de fichiers, gérées par vous et non par un tiers).
la source