Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Barre d'avancement durant un formatage de disquette
Auteur Message
Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Bonsoir tout le monde Smile,

J'ai fais un petit batch sans prétention, afin de formater mes disquettes.
Le programme permet également de formater en 720 k (utile dans mon cas pour de vieux synthés) Smile.

Toutefois, j'aimerais savoir s'il est possible de "récupérer" le pourcentage de formatage, afin d'en faire une barre de progression par exemple Smile.

Je vous mets mon code ci-dessous Wink :
Code:
@echo off
set W_FLAG=OFF


:MAIN_MENU_TITLE
title FloppyFormat ©   ^| By Angelo ^|  d‚marr‚ …: %time:~0,2% H %time:~3,2% et %time:~6,2% s
mode con cols=76 lines=29

:MAIN_MENU
set I=0
set J=0
color 1A
cls
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º                                                                      º
if %W_FLAG%==OFF (
   echo   º       -----   Bienvenue dans mon logiciel FloppyFormat   -----       º
   set W_FLAG=ON
   ) else ( echo   º                     -----   FloppyFormat   -----                     º )
echo   º                                                                      º
echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo.
echo.
echo.
echo                        [1]  _  Formater en 720 k
echo.
echo                        [2]  _  Formater en 1.44 M
echo.
echo.
echo.
echo                                  [Q]uitter
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo.
echo.

set /p CHOIX=                       \\:
set BACK=MAIN_MENU
if %CHOIX%==q goto :FIN
if %CHOIX%==1 goto :SUB_1
if %CHOIX%==2 goto :SUB_2
goto :INVALIDE

:SUB_1
set I=1
set TEXTE=  º                    -----   Formatage 720k   -----                    º
set BACK=SUB_1
goto :CONFIRMER

:SUB_2
set I=2
set TEXTE=  º                    -----   Formatage 1.4M   -----                    º
set BACK=SUB_2
goto :CONFIRMER

:CONFIRMER
cls
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo   º                                                                      º
echo %TEXTE%
echo   º                                                                      º
echo   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo.
echo.
echo.
echo         Les donn‚es de la disquette seront irr‚m‚diablement perdues.
echo.
echo.
echo.
echo.
echo.
echo         [F]ormater       -       [Q]uitter       -       [R]etour
echo.
echo ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
echo.
set /p CHOIX=        \\:
if %CHOIX%==f goto :FORMAT
if %CHOIX%==q goto :FIN
if %CHOIX%==r goto :MAIN_MENU
goto :INVALIDE

:FRAME
cls
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo          ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo          º                                                      º
echo %TEXTE_INTERFACE%
echo          º                                                      º
echo          ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
if %J%==1 (
   if %I%==1 goto :720k
   if %I%==2 goto :144M
   )
if %J%==2 (
   @ping localhost -n 3 >nul
   goto :MAIN_MENU
   )
if %J%==3 (
   @ping localhost -n 3 >nul
   color 1A
   goto :%BACK%
   )
if %J%==4 (
   @ping localhost -n 3 >nul
   goto :EOF
   )
goto :INVALIDE

:FORMAT
set J=1
set TEXTE_INTERFACE=         º  --  Merci de patienter durant le formatage...  --   º
goto :FRAME

:720k
echo o | format > nul a: /V:720k/N:9/T:80
goto :FORMAT_END

:144M
echo o | format > nul a: /V:140M/N:18/T:80
goto :FORMAT_END

:FORMAT_END
set J=2
set TEXTE_INTERFACE=         º   ----   Formatage termin‚ avec succŠs :) !  -----   º
goto :FRAME

:INVALIDE
set J=3
color 1C
set TEXTE_INTERFACE=         º    ------------   Entr‚e invalide !  ------------    º
goto :FRAME

:FIN
set J=4
set TEXTE_INTERFACE=         º    --------------   BYE-BYE :) !  ---------------    º
goto :FRAME


Pourriez-vous m'aider Smile ?

Bien à vous,

HackedPwned



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Hello !

je suis pas sûr que ce soit possible en batch car cmd.exe n'est pas un environnement multitâche et donc il n'est possible de récupérer la sortie d'un programme tant qu'il est encore en exécution ....

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Coucou Smile !

Merci pour ta réponse.

Je me doutais que ce que je voulais faire n'était pas faisable en l'état Sad. Je pensais qu'il était possible de faire appel à une commande externe pour ce type de "problématique", mais on dirait bien que non Sad.

Aurais-tu un langage "simple" à me conseiller que je puisse apprendre, pour tenter de créer ce programme ?

/HS : Existe-t-il une commande externe qui permette de valider une touche sans confirmation par "enter" ? Ça ferait un petit plus pour les fonctions "set /p", ce serait sympa une détection de touche instantanée pour les menus Smile. Mille excuse si la question a déjà été posée, mais je n'en ai pas trouvé trace. /HS

Sinon, même si le programme est très simple, qu'en pensez-vous Smile ? Je débute, donc toute suggestion d'amélioration sera la bienvenue Wink.

Cordialement,

HackedPwned



Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Salut,
j'ai regardé ton code qui est assez complet mais en dos c'est impossible de faire une barre de progression en fonction d'une ou de plusieur donnés.
pour ce qui concerne ta validation sans apuyer sur la touche entrer la question a déjà été posé sur un forum de jeux consernant un quizz ( dsl mais je suis incapable de te donner un lien de plus je te donne cette réponse depuis un telephone portable ce qui rend la chose impossible) mais cela fait appelle à des commandes externe si mes souvenir sont bon.
Voila !! Content d'avoir pu t'aider et à bientôt Mr. Green



Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Bonjour
comme remarquer le sujet a été abordé plusieurs fois : cherche par mot clé key.exe, sendkeys.exe, skeys.exe

http://batch.xoo.it/t905-Banques-de-commandes-externes-mis-a-disposition.ht…




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Darkbatcher a écrit:

Hello !

je suis pas sûr que ce soit possible en batch car cmd.exe n'est pas un environnement multitâche et donc il n'est possible de récupérer la sortie d'un programme tant qu'il est encore en exécution ....

Faux !

-> il est possible de récupérer la sortie d'un programme tant qu'il est encore en exécution ....
-> il est possible d’exécuter plusieurs taches parfaitement géré pour un même batch

Je ne dis pas que c'est facile par contre, mais c'est bien faisable, la preuve avec ce batch (il est capable d'afficher une progression pour la copie gros fichier par exemple, et prochainement une progressbar pour une conversion d'un fichier audio/video.)



Dernière édition par Cαutex le Mar 10 Avr 2012 - 17:06; édité 1 fois

______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Merci pour ton com.
Je retir donc ce que j'ai dit dans mon dernier poste mais comme tu la dit sa ne doit pas etre bien facile de récupérer des donnés pour les retranscrire



Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Merci pour vos réponses Wink.

En tous cas si quelqu'un sait comment récupérer le pourcentage de la commande format, ce serait chouette, même s'il faut passer par autre chose que du batch Wink.

Sinon, HS, mais c'est normal que j'obtienne le message "This domain has been blocked" quand je vais sur http://www.batchclipboard.info/ Sad ?



Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
Un début:

Code:

start /B cmd.exe /C ""commande à executer" "parametre 1" "parametre 2"" 2>"chemin complet d'un fichier"

lance une commande (pour toi sa serra format) dans la même fenêtre batch (créé un processus différent) en redirigeant la sortie de commande dans un fichier.

il faudra ensuite traiter le contenu du fichier pour:
-déterminer le pourcentage et l'afficher
-détecter la fin de la commande de manière efficace (un [if "%pourcentage"=="100"] n'est pas forcément adapté )

voila Smile




______________________________________________________
Mes principales réalisations: Cp (batch) et IPSvc (autoit)
Répondre en citant
Message Barre d'avancement durant un formatage de disquette 
HackedPwned a écrit:


Sinon, HS, mais c'est normal que j'obtienne le message "This domain has been blocked" quand je vais sur http://www.batchclipboard.info/ Sad ?

Oui le domaine n'existe plus : http://batchclipboard.olympe-network.com/




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message Barre d'avancement durant un formatage de disquette 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch