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 :

Progress Bar en Batch


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 258
    Par défaut Progress Bar en Batch
    Bonjour, je suis en train de créer un petit script en batch (je suis très débutant) qui dois supprimer un fichier.
    J'aimerais (j'ai presque réussi) que pendant qu'il supprime le fichier, il y ait une sorte de progress bar plus ou moins rapide en fonction du temps mis par le pc pour supprimer le fichier (surement selon sa taille)...
    J'ai déjà écrit ce bout de code que j'ai trouvé sur le net qui ne marche pas mal, seulement il m'écrire X fois que le fichier n'existe pas (normal il a deja du le supprimer)
    Mais sinon il fait bien progress bar, je pense que le probleme vient du fait que la commande "del" soit dans la boucle....
    Bref je ne sais pas, j'espere etre clair, merci de votre aide...


    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
    39
    @echo off 
    cls 
    echo ######################################################
    echo #						     #
    echo #         Suppresion de l'ancienne sauvegarde        # 
    echo #                      				     #
    echo ######################################################
    
    cd C:\Documents and Settings\biuv8465\Desktop\
    
    setlocal enabledelayedexpansion
    echo.
    echo.
    
    set i=1
    (Set /P j=DELETING) < NUL
    ECHO.
    (Set /P j=......) < NUL
    :start
    call :DisplayProgressBar %i%
    :replace the next line by the operation you want to do
    del "Copie de Acronis True Image 13.0.6053.zip"
    set /a i = i + 1
    if /i %i% leq 100 goto start
    ECHO.
    ECHO.
    (Set /P j=DELETING DONE) < NUL
    ECHO.
    PAUSE>NUL
    goto :EOF
    
    
    
    :DisplayProgressBar
    (Set /P j=.) < NUL
    title %1%% Completed
    exit /b
    endlocal

  2. #2
    Membre Expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Par défaut
    Bonjour,

    Pourquoi tu effectues la tâche de suppression 100 fois
    Réorganises simplement ta boucle comme cela par exemple saute à progress à partir de 2 et lance la suppression que la première fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    :start
    if /i %i% GEQ 2 goto progress
    del "Copie de Acronis True Image 13.0.6053.zip"
    :progress
    call :DisplayProgressBar %i%
    :replace the next line by the operation you want to do
    set /a i = i + 1
    if /i %i% leq 100 goto start

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 258
    Par défaut
    Bonjour et merci, pour ceci ça fonctionne impec.
    J'aimerais te demander autre chose tant que j'y suis, de peut etre plus complexe.
    J'aimerais maintenant au lieu d'avoir une progressbar qui fait ceci :
    ..............................................................
    Avoir une progress bar de ce type :
    [=> sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss]
    [===============>ssssssssssssssssssssssssssssssssssssssssssssss]
    [=================================> ssssssssssssssssssssss]

    (Sans les "s" partout, mais c'est juste que je n'arrivai pas à te montrer, en gros un encadrement fixe [ et ] et au milieu la fleche qui avance => au fur et a mesure de l'avancement de la tache..

    Vois-tu ce que je veux dire, est-ce plus compliqué ? Comment m'y prendre ?


    Merci

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 258
    Par défaut
    Faire un truc de ce genre si possible :



    Le soucis avec le code au dessus que j'aavais récupérer, c'est qu'en fait, il execute la tache, attend, attend, attend, et des que c'est fini, il defile tout d'un coup la progressbar.
    Moi j'aimerais qu'il "sache" combien de temps ça va prendre et qu'en fonction de ça, pendant qu'il execute la tache, il defile la progressbar de maniere linéaire jusqu'a la fin.

    J'espere etre clair, et que ce que je demande n'est pas irréalisable.


    Merci

  5. #5
    Membre Expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Par défaut
    Bonjour,

    Je ferais quelque chose de ce style pour ce type d'affichage.
    1 - Affichage de "[" au depart
    2 - Affichage de "=" autant de fois que i/10 (tous les 10% un "=")
    3 - Affichage de ">"
    4 - Affichage de " " autant de fois qu'il reste pour boucher le trou
    5 - Affichage de "]"

    Pour son affichage en temps reel, tu as bien activé l'expansion retardée de variables mais ne l'utilise pas. Utilises la saisie sous cette forme Je te laisse réfléchir un peu à tout ça, tu as les cartes en main.
    Si tu as d'autres questions ou n'y arrive pas, n'hésites pas.

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 258
    Par défaut
    Salut !

    Je te remercie pour ton précedent message.
    Je comprend bien le principe, pas de soucis, mais je suis tellement débutant que je ne sais pas faire, vraiment pas, même en faisant un peu de bricolage, je ne vois pas...

    Donc si ça ne te dérange pas, je veux bien que tu continue un peu à m'aider et m'écrire par exemple un morceau, ou autre qui pourrait vraiment m'aider...

    Parce que je sèche, je te remercie en tout cas

Discussions similaires

  1. Réponses: 14
    Dernier message: 20/11/2014, 15h48
  2. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  3. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 21/04/2005, 18h39
  4. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23
  5. Progress bar au boot
    Par saibe dans le forum Administration système
    Réponses: 2
    Dernier message: 18/08/2003, 10h01

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