Ce script batch tronquer un fichier si elle est supérieure à 10 Mo. Il écrira les 500 dernières lignes dans un fichier temporaire, puis écrasera le fichier original avec le fichier temporaire. Vous pouvez ajuster la taille du fichier et le nombre de lignes en modifiant les valeurs de variable appropriées.
Vous pouvez utiliser ce script dans une tâche planifiée telle que décrite par Jason Evans. En fait, il est possible de lancer la tâche chaque minute. Le moyen le plus simple d'y parvenir est de créer une tâche avec n'importe quelle configuration de planning et de la modifier ensuite. Vous avez ensuite des propriétés étendues pour les intervalles de planification, comme chaque minute.
est le script ici:
@ECHO OFF
REM REMAINING_LINES holds the number of lines to keep
SET REMAINING_LINES=500
REM define file size limit to be 10 MB
SET FILE_SIZE_LIMIT=10737418240
REM check if file exists
IF NOT EXIST "%1" GOTO END
REM check file size by parsing the output of DIR command
FOR /F "tokens=3" %%A IN ('dir /-c /n "%1" ^| more +5') DO (
IF /I %%A GTR %FILE_SIZE_LIMIT% GOTO TRUNCATE
GOTO END
)
:TRUNCATE
REM COUNT holds the number of lines in the file
SET COUNT=0
REM count lines by incrementing count by 1 for each line in input file
FOR /F %%l in ('type "%1"') DO SET /A COUNT+=1
REM calculate the line offset
SET /A LINE_OFFSET=%COUNT%-%REMAINING_LINES%
REM check we have at least two lines remaining
IF /I %LINE_OFFSET% LEQ 1 GOTO END
REM write remaining lines to temp file
MORE +%LINE_OFFSET% "%1" > "%1.tmp"
REM overwrite input file with temp file
MOVE /Y "%1.tmp" "%1"
ECHO %1 truncated.
:END
quel type de fichier journal est-ce? Il pourrait être plus facile de contrôler la taille maximale du fichier à partir de l'application qui le génère. –
l'histoire est que, quelqu'un crée une application console .net, ils impriment seulement le journal à la console, ne pas utiliser toute technologie de journalisation. alors j'ai besoin d'écrire un script de chauve-souris pour garder tous ces journaux. (diriger les sorties dans un fichier texte.) mais le fichier journal va continuer à croître, je veux faire un truc pour maintenir en quelque sorte le fichier journal à une certaine taille seulement. de sorte que je n'ai pas besoin de s'inquiéter du problème de sotrage. – jojo