Récupérer l'avancé du formatage d'un lecteur logique lancé en invite de commande

Signaler
Messages postés
10
Date d'inscription
samedi 9 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Messages postés
10
Date d'inscription
samedi 9 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Bonjour,

est-il possible de récupérer l'avancé du formatage d'un lecteur logique et de lier cette avancée à une progressbar ?

et si oui, comment récupérer le pourcentage formaté au fur et à mesure de son incrémentation dans la fenêtre de l'invite de commande ?

Je ne suis pas sur d'avoir été très clair, mais bon...

Merci d'avance

5 réponses

Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
Bonjour,

Oui c'est complément possible, il faut simplement recuperer la sortie de ta console (Output)
exemple tout bete :
_____________________________________________________

        Dim p As New Process
        With p.StartInfo
            .RedirectStandardOutput = True
            .UseShellExecute = False
            .FileName = "cmd.exe"
            .Arguments = " /c dir /s *.*"

        End With
        p.Start()
        Dim output As IO.StreamReader = p.StandardOutput

        Do Until output.Peek = -1
            'ici tu peux mettre ton code qui va lire la ligne % (pourcentage)
            Console.WriteLine(output.ReadLine)
        Loop
        Me.Close()
_____________________________________________

Mais attention il faudra utiliser un thread pour ne pas bloquer l'application, utilise donc pour faire cela le fameux contrôle BackgroundWorker avec toutes ses propriétés
Messages postés
10
Date d'inscription
samedi 9 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009

Salut TroXsA,

effectivement, j'arrive à obtenir dans un textbox les lignes sur un dir C:\, en revanche, sur un format X:, j'ai un plantage de format.com... juste après avoir récupérer "insérez un nouveau disque pour le lecteur X:" et avant même de voir la ligne "et appuyez sur ENTRéE lorsque vous êtes prêt..."

Comment puis-je envoyer un Enter à l'invite de commande ?

J'ai un peu de mal ce soir, je viensd de passer l'AM à me battre avec la DOSClass de fredlynx pour un résultat identique (en beaucoup plus compliqué !!!) Lolll
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
re

j'ai regardé un peux partout sur les sites que je connais et il utilise pas cette methode pour formater une unité

il faut rechercher une API SHFormatDrive
exemple
___________________________________________
PrivateDeclareFunctionSHFormatDriveLib"shell32"(ByVal hwnd AsLong,ByVal iDrive AsLong,ByVal iCapacity AsLong,ByVal iFormatType AsLong)AsLong
___________________________________________

desoler de ne pas pouvoir t'aider plus que ça
Messages postés
553
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
2 octobre 2016
1
oups

un petit oubli du lien sur le site de monsieur Microsoft
http://msdn.microsoft.com/en-us/library/bb762169.aspx
Messages postés
10
Date d'inscription
samedi 9 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009

Re TroXsA

Apparement, cette API permet d'ouvrir la boite de dialogue de formatage de windows, c'est pas vraiment ce que je cherche.

Mais je vais voir s'il y a moyen de faire quelque chose avec ca...

Je te remercie kan même pour ton intérêt

@ +