IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Supprimer un fichier par rapport à la date


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Points : 43
    Points
    43
    Par défaut Supprimer un fichier par rapport à la date
    Bonjour,

    Je suis en train de faire un script me permettant de supprimer des fichiers (*.bak) suivant leur date.

    J'ai tout d'abord crée un script qui permet de transformer la date de création du fichier en quantième (quant.bat).
    Ce fichier met le quantième dans un fichier texte (filequant.txt).

    J'ai ensuite crée un script pour, après avoir comparer le quantième du fichier avec le quantième d'aujourd'hui, qu'il supprime ou non le fichier.
    C'est dans ce deuxième script ou ce bloque complètement, je n'arrive pas à trouver d'où vient le problème.

    @echo off

    for /F "tokens=*" %%a in ('dir /A /B /-P *.txt') do (
    for /F "tokens=1" %%i in ('ECHO %%~ta') do (
    call c:\temp\quant.bat %%i
    set /P filequant= < filequant.txt

    echo -------- %filequant% --------
    set /A result=%todayquant% - %filequant%
    echo %result% > C:\TEMP\result.txt

    if %result% GTR 10 (del %%a)
    echo *********** %result% ************
    echo %%i
    del %%a
    pause
    )
    )
    C'est peut être un erreur toute bête, j'ai commencé le batch hier...

    Merci pour votre aide.

  2. #2
    Membre averti

    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2003
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 333
    Points : 382
    Points
    382
    Billets dans le blog
    1
    Par défaut
    Ca sera dur de t'aider sans le script complet et les erreurs renvoyée à la sortie écran...

    Nota: en batch debugger commence par mettre @echo on

  3. #3
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Points : 43
    Points
    43
    Par défaut
    Mon script qui calcule le quantième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    REM -----------------------------------------------
    REM            CALCUL DU QUANTIEME
    REM -----------------------------------------------
    @echo on
    IF %1.==. (set d=%date%) ELSE (set d=%1)
    Set j=%d:~0,2%
    set i=%j:~0,1%
    if %i% EQU 0 set j=%j:~1%
    Set m=%d:~3,2%
    set i=%m:~0,1%
    if %i% EQU 0 set m=%m:~1%
    Set a=%d:~6,4%
    Set /A mod=a %% 4
    Set fev=28
    if %mod% EQU 0 set /A fev=29
    Set quant=%j%
    if %m% GTR 1 set /A quant=%quant% + 31
    if %m% GTR 2 set /A quant=%quant% + fev
    if %m% GTR 3 set /A quant=%quant% + 31
    if %m% GTR 4 set /A quant=%quant% + 30
    if %m% GTR 5 set /A quant=%quant% + 31
    if %m% GTR 6 set /A quant=%quant% + 30
    if %m% GTR 7 set /A quant=%quant% + 31
    if %m% GTR 8 set /A quant=%quant% + 31
    if %m% GTR 9 set /A quant=%quant% + 30
    if %m% GTR 10 set /A quant=%quant% + 31
    if %m% GTR 11 set /A quant=%quant% + 30
    
    
    echo %quant% > C:\TEMP\filequant.txt
    
    Set /A filequant=%quant%
    echo filequant de QUANT.BAT %filequant% 
    
    rem pause
    rem echo Le %d% est le jour %quant%
    pause
    Et celui qui est sensée supprimer les fichiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    @echo on
    pause
    call c:\temp\test\QUANT.BAT
    pause
    
    for /F "tokens=*" %%a in ('dir /A /B /-P *.txt') do ( 
    	for /F "tokens=1" %%i in ('ECHO %%~ta') do (
    		call c:\temp\test\QUANT.BAT %%i
    		set /P filequant= < filequant.txt
    
    	echo -------- %filequant% --------
    	set /A result=%todayquant% - %filequant%
    echo %result% > C:\TEMP\result.txt
    
     if %result% GTR 10 (del %%a)
     echo *********** %result% ************ 
     echo %%i
     del %%a
    pause
    	)
    )
    
    pause
    Le script Quant.bat, fonctionne.
    Et je ne vois aucune erreur quand j'exécute le 2nd script; la fenêtre ce ferme automatiquement.

Discussions similaires

  1. Copie de fichier par rapport à la date de modification
    Par liondu75 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/10/2012, 14h23
  2. Déplacer un fichier par rapport à la date
    Par hihara dans le forum VBScript
    Réponses: 1
    Dernier message: 28/05/2012, 19h47
  3. Creation de dossiers par rapport à la date des fichiers
    Par jucost dans le forum Discussions diverses
    Réponses: 2
    Dernier message: 08/05/2012, 13h45
  4. Réponses: 6
    Dernier message: 14/05/2007, 00h14
  5. Supprimer un fichier par rapport a une date
    Par NewB dans le forum Linux
    Réponses: 2
    Dernier message: 25/06/2003, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo