Récupérer l'avancé du formatage d'un lecteur logique lancé en invite de commande
yannleco
Messages postés10Date d'inscriptionsamedi 9 avril 2005StatutMembreDernière intervention 6 mars 2009
-
5 mars 2009 à 20:10
yannleco
Messages postés10Date d'inscriptionsamedi 9 avril 2005StatutMembreDernière intervention 6 mars 2009
-
6 mars 2009 à 20:46
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
A voir également:
Récupérer l'avancé du formatage d'un lecteur logique lancé en invite de commande
troxsa
Messages postés553Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention 2 octobre 20161 6 mars 2009 à 18:00
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
yannleco
Messages postés10Date d'inscriptionsamedi 9 avril 2005StatutMembreDernière intervention 6 mars 2009 6 mars 2009 à 19:01
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
troxsa
Messages postés553Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention 2 octobre 20161 6 mars 2009 à 19:49
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
___________________________________________