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 :

Suppression de fichiers


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Janvier 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 21
    Par défaut Suppression de fichiers
    Bonjour à tous,

    Voici mon programme. Il est presque fini, il me manque qu’une petite commande et j’ai besoin de votre aide.

    J’ai des fichiers avec l’extension .bak que je dois supprimer. J’aimerais aussi créer un fichier d’archive me disant qu’est ce qui a été supprimé et quand.

    Tout ça fonctionne j’aimerais juste ajouter dans ce fichier (un txt tout bête) la taille de mon fichier avant la suppression et la taille après suppression.

    Voici le code :


    @echo off
    color 3f
    echo.
    echo.
    echo.
    echo ------ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ------
    echo ------ ³ ³ ------
    echo ------ ³ ³ ------
    echo ------ ³ BIENVENUE DANS LE PROGRAMME DE SUPPRESSION DES FICHIERS ³ ------
    echo ------ ³ BAK ³ ------
    echo ------ ³ ³ ------
    echo ------ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ------
    echo.
    echo.

    echo.------ >> Historiquebak.txt
    echo.------ >> Historiquebak.txt
    echo ------ ³ [-[ DATE : %date% %time% ]-] ³ ------ >> Historiquebak.txt
    pause
    echo.------ >> Historiquebak.txt
    echo.------ >> Historiquebak.txt
    echo.
    echo.
    ECHO VOULEZ VOUS SUPPRIMER LES FICHIERS BAK PRESENT DANS CE REPERTOIRE ?
    echo.
    ECHO 1) OUI
    echo.
    ECHO 2) NON
    ECHO.
    rem variable d'environnement (paramètre /P obligatoir)
    set /p choix= VEUILLEZ ENTRER UN CHOIX S IL VOUS PLAIT (1 ou 2) :

    if not %choix%=='' set choix=%choix:~0,1%
    if %choix%==1 goto OUI
    if %choix%==2 goto NON

    retour au menu principale a cause d'un mauvais choix ou une faute de frappe
    echo %choix% N EST PAS CORRECT !
    goto menu


    :OUI

    del /s *.bak >> Historiquebak.txt

    :NON
    exit



    Et voici le fichier txt créer

    ------
    ------
    ------ ³ [-[ DATE : 17/09/2010 10:39:31,61 ]-] ³ ------
    ------
    ------
    Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de nouveau dossier\gdfgd.bak
    Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de nouveau dossier\Nouveau dossier\fdgdf.bak
    Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de nouveau dossier\Nouveau dossier\Nouveau dossier\fdsfsd.bak

    Il me faudrait juste apres la date la taille du repertoire source et à la fin la taille apres suppression.

    J'espere que vous pourrez m'aider. Merci d'avance

  2. #2
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Bonjour,

    en cherchant un peu sur le net, j'ai trouvé ceci qui pourrait t intéresser.

    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
    Contenu du fichier de commandes Taille-Dossier.Cmd
    
    @Echo Off
    Rem ATTENTION !! Cela ne marche que si les expansions retardées sont ACTIVEES
    Rem Voila comment je fais :
    
    Set P1=0
    Set P2=0
    Set Dossier=%1
    Rem "/R C:\monrepertoire" indique à "FOR" de travailler en récursif.
    Rem Il recherche tous les fichiers de type *.*
    Rem "set /A" permet de sommer la taille des fichiers (%%~zi)
    Rem et division par 1048 sinon c'est trop gros pour lui.
    Rem Remarquez les point d'exlamation !! plutot que les %% autour de P1,
    Rem ce sont des expansion retardée de variables (voir set /?)
    For /R %Dossier% %%I In (*.*) Do Set /A P1=!P1!+%%~ZI/1048
    For /R "%UserProfile%" %%I In (*.*) Do Set /A P2=!P2!+%%~ZI/1048
    Echo Le dossier %Dossier% contient %P1%Koctets
    Echo Le profile de l'utilisateur %UserProfile% contient %P2%Koctets
    
    Commande passée :
    Taille-Dossier.Cmd c:\winnt
    
    Résultat affiché :
    Le dossier c:\winnt contient 3571120Koctets
    Le profile de l'utilisateur C:\Documents and Settings\Administrateur contient 64887Koctets
    Pour lancer ton script bat en activant les expansion retardée de variable
    il te faut le lancer depuis un autre batch comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cmd /v:on /c premier.bat
    
    "/v:on " active les expansion retardée
    Voila en espérant avoir trouver ce dont tu avais besoin.

    NB: la division est à faire par 1024 pour l'avoir en Ko non pas par 1048.
    la division est à faire par 1 048 576 pour l'avoir en Mo.

Discussions similaires

  1. [CVS] Répercuter les suppressions de fichiers
    Par efaure dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 17/05/2004, 17h34
  2. [BATCH]Suppression de fichier
    Par alxkid dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 21/04/2004, 13h25
  3. Réponses: 4
    Dernier message: 16/04/2004, 08h20
  4. Auto suppression de fichier
    Par pato dans le forum Langage
    Réponses: 4
    Dernier message: 05/03/2004, 09h09
  5. Suppression de fichiers
    Par wasch dans le forum C++Builder
    Réponses: 6
    Dernier message: 20/11/2003, 16h37

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