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 :

Afficher barre progression en suppression


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut Afficher barre progression en suppression
    Bonjour,

    J'ai cherché pas mal d'aide afin de pouvoir afficher une barre de progression. Beaucoup de tuto sont sur le web, mais aucun ne me correspond car j'ai un fichier complet, pas qu'une commande à analyser.

    J'ai fait un script qui permet de nettoyer les fichiers TEMP de W$, quel que soit ça version. Le script fonctionne très bien, indique même le temps passé et le nombre de fichier, mais ce qu'il me manque est une barre de progression. En effet, pour les connaisseurs, il y a des fichiers TEMP qui pèse plusieurs centaines de Go, et ce montent à plusieurs millions de fichiers (si si je vous assure !). Si une âme charitable pourrait me renseigner !

    Lorsque j'essaye ceux fournis, ils ne font que la progression et n’exécutent pas mon script.

    Merci,
    $igri_44

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut
    Citation Envoyé par sigri44 Voir le message
    Bonjour,

    J'ai cherché pas mal d'aide afin de pouvoir afficher une barre de progression. Beaucoup de tuto sont sur le web, mais aucun ne me correspond car j'ai un fichier complet, pas qu'une commande à analyser.

    J'ai fait un script qui permet de nettoyer les fichiers TEMP de W$, quel que soit ça version. Le script fonctionne très bien, indique même le temps passé et le nombre de fichier, mais ce qu'il me manque est une barre de progression. En effet, pour les connaisseurs, il y a des fichiers TEMP qui pèse plusieurs centaines de Go, et ce montent à plusieurs millions de fichiers (si si je vous assure !). Si une âme charitable pourrait me renseigner !

    Lorsque j'essaye ceux fournis, ils ne font que la progression et n’exécutent pas mon script.

    Merci,
    $igri_44

    Pouvez-vous nous poster votre script ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Pouvez-vous nous poster votre script ?
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    rem Version 1.0
    @Title Nettoyage fichiers TEMP 1.0
    @echo off
    echo.
    for /F "delims=" %%a in ('echo %time:~0,-3%') do (
        set time_d=%%a
        for /F "delims=: tokens=1-3" %%b in ('echo %%a') do (
            set hour_d=%%b
            set min_d=%%c
            set sec_d=%%d
        )
    )
    if %min_d% LSS 10 (set min_d=%min_d:~1%)
    if %sec_d% LSS 10 (set sec_d=%sec_d:~1%)
     
        ver | find /i "version 6.1." > nul
        if %errorlevel%==0 goto winseven
        ver | find /i "version 6.0." > nul
        if %errorlevel%==0 goto winvista
        ver | find /i "version 5.1." > nul
        if %errorlevel%==0 goto winxp
     
        echo Version non reconnue
        pause
        goto end
     
        :winseven
        dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\" /A-D /B /S | find "." /C > "Nettoyage_%COMPUTERNAME%_%USERNAME%.txt"
        for /f "tokens=*" %%i in ('dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\*.*" /AD /B') do (rd "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\%%i" /S /Q) 
        echo o | del "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\*.*"
        dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\" /A-D /B /S | find "." /C > "Nettoyage_%COMPUTERNAME%_%USERNAME%2.txt"
        for /f "tokens=*" %%i in ('dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\*.*" /AD /B') do (rd "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\%%i" /S /Q) 
        echo o | del "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\*.*"
        for /F %%a in ('type "Nettoyage_%COMPUTERNAME%_%USERNAME%.txt"') do set var=%%a
        for /F %%b in ('type "Nettoyage_%COMPUTERNAME%_%USERNAME%2.txt"') do set var2=%%b
        cls
        @echo Op‚ration termin‚e.
        @echo %var% fichiers ont ‚t‚ supprim‚s Content.IE5 !
        @echo %var2% fichiers ont ‚t‚ supprim‚s Low\Content.IE5 !
        goto end
         
        :winvista
        dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\" /A-D /B /S | find "." /C > "Nettoyage_%COMPUTERNAME%_%USERNAME%.txt"
        for /f "tokens=*" %%i in ('dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\*.*" /AD /B') do (rd "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\%%i" /S /Q) 
        echo o | del "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\*.*"
        dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\" /A-D /B /S | find "." /C > "Nettoyage_%COMPUTERNAME%_%USERNAME%2.txt"
        for /f "tokens=*" %%i in ('dir "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\*.*" /AD /B') do (rd "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\%%i" /S /Q) 
        echo o | del "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5\*.*"
        for /F %%a in ('type "Nettoyage_%COMPUTERNAME%_%USERNAME%.txt"') do set var=%%a
        for /F %%b in ('type "Nettoyage_%COMPUTERNAME%_%USERNAME%2.txt"') do set var2=%%b
        cls
        @echo Op‚ration termin‚e.
        @echo %var% fichiers ont ‚t‚ supprim‚s Content.IE5 !
        @echo %var2% fichiers ont ‚t‚ supprim‚s Low\Content.IE5 !
        goto end
     
        :winxp
        dir "%HOMEPATH%\LOCALS~1\Temporary Internet files\Content.IE5\*.*" "%HOMEPATH%\LOCALS~1\Temp\*.*" /A-D /B /S | find "." /C > "Nettoyage_%COMPUTERNAME%_%USERNAME%.txt"
        for /f "tokens=*" %%i in ('dir "%HOMEPATH%\LOCALS~1\Temporary Internet files\Content.IE5\*.*" /AD /B') do (rd "%HOMEPATH%\LOCALS~1\Temporary Internet files\Content.IE5\%%i" /S /Q) 
        echo o | del "%HOMEPATH%\LOCALS~1\Temporary Internet files\Content.IE5\*.*"
        for /F %%a in ('type "Nettoyage_%COMPUTERNAME%_%USERNAME%.txt"') do set var=%%a
        cls
        @echo Op‚ration termin‚e. %var% fichiers ont ‚t‚ supprim‚s !
        goto end
     
    :end
    for /F "delims=" %%e in ('echo %time:~0,-3%') do (
        set time_e=%%e
        for /F "delims=: tokens=1-3" %%f in ('echo %%e') do (
            set hour_e=%%f
            set min_e=%%g
            set sec_e=%%h
        )
    )
    if %min_e% LSS 10 (set min_e=%min_e:~1%)
    if %sec_e% LSS 10 (set sec_e=%sec_e:~1%)
    set /a total_d=(%hour_d%*3600)+(%min_d%*60)+%sec_d%
    set /a total_e=(%hour_e%*3600)+(%min_e%*60)+%sec_e%
    set /a time_run=%total_e%-%total_d%
    echo.
    echo Heure de lancement : %time_d%
    echo Heure de fin : %time_e%
    echo Temps pass‚ : %time_run%s
    echo.
    pause
    exit

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut BAT/VBS Barre de progression
    Salut,

    Une barre de progression (au sens littéral du terme) ne me semble pas très adapté à ton cas.
    Je m'orienterais plutôt vers une barre d'attente type :



    Si il te faut un coup de main n'hésite pas.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Par défaut
    J'y pensais, mais autant rien mettre, le script est déjà suffisant ^^
    On m'as dit de lister le nombre de fichiers avant la suppression, comme ça on voit l'avancement, mais j'arrive pas.

    Et ce genre de barre je peux la faire avec un echo et un cls en boucle sinon, je vois aps trop l'intêret ^^

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut [BAT] Barre de Progression
    Ok je t'ai fais un petit exemple de ce que tu pourrais faire en BAT :


    Code bat : 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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    ::SachaDee 2014
    @Echo Off
    mode con: cols=120 lines=8
    color 1a
    setlocal EnableDelayedExpansion
     
    @echo off
     
    ::On compte le nombre de fichier que l'on va traiter
    set $c=0
    for %%# in ("C:\Users\CN Micros\Desktop\PROGRAMMATION\tata\*") do set /a $c+=1
    echo Total de fichier = %$c%
     
    ::On définit le pas pour une barre de 100 position de 1%
     
    set /a $pas=%$c%/100
     
    ::On initialise le graphe
    set $C=0
    set $pcent=0
    set $graph=°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
    cls
    echo Trait‚ : 0 %% 
    echo.ProgressBarre By SachaDee
    echo.
    echo    [%$graph%] !$pc! %% Trait‚
     
    ::On detruit les fichiers et à chaque pas on met le graphe à jour
     
    for %%a in ("C:\Users\CN Micros\Desktop\PROGRAMMATION\tata\*") do (
    rem ici tu détruit tes fichiers:  >nul del "%%a" 2>1
      if !$C!==%$Pas% (
        set $graph=!$graph:~0,-1!
        set $graph=²!$graph!
        if not !$pcent!==100 set /a $pcent+=1
        call:AfficheBarre !$Graph! !$pcent! 
        set /a $C=0
       )
      set /a $c+=1
    )
     
    exit/b
    :AfficheBarre
    >nul PING localhost -n 1
    cls
    echo.ProgressBarre By SachaDee
    echo.
    echo    [%1] %2 %% Trait‚

    Tu peux faire un test sur un dossier le DEL n'est pas activé lorsque c'est ok, enlève le REM devant le DEL.
    Voilà à toi d'adapter à ton problème


Discussions similaires

  1. Réponses: 6
    Dernier message: 29/05/2007, 18h41
  2. masquer/afficher barre des menus selon critéres
    Par delg dans le forum Access
    Réponses: 1
    Dernier message: 22/09/2006, 12h50
  3. [debutant] afficher barre defillement dans JTextArea
    Par nadhem dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 08/08/2006, 15h54
  4. [HTML]Toujours afficher barre de défilement dans un DIV
    Par steelidol dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/03/2006, 18h05
  5. [JProgressBar] Afficher barre d'attente pendant traitement
    Par Regis.C dans le forum Composants
    Réponses: 10
    Dernier message: 02/09/2005, 17h43

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