Lancer une commande DOS à partir de VBS

Fermé
jlm - 23 déc. 2010 à 11:20
 jlm - 24 déc. 2010 à 12:06
Bonjour,

Je dois faire une application avec visual studio qui gère des quotas, cependant j'ai besoin de lancer des commande via une console et récupérer les résultats de la commande dans un fichier texte, j'ai pas mal éplucher les forum mais rien

Voilà une partie du programme :

Dim WshShell As Object
Dim name = Me.nameUser 'nom utilisateur récupérer
WshShell = CreateObject("Wscript.Shell")
WshShell.Run("dirquota quota list /Path:C:\" & name.Text & " > ListeRechercheQuota.txt")

Et là il me sort une erreur :

L'exeception FileNotFoundException
Le fichier spécifié est introuvable. (Exception de HRESULT : 0x80070002)

j'ai cru que je devais créer le fichier ListeRechercheQuota.txt mais non.

Si vous avez des idées je suis preneur, merci d'avance ....

7 réponses

Me revoilà,

J'avance un peu mais nouveau problème, ma commande s'affiche et s'execute mais avec une erreur :

voici la commande dans le code VB :
Shell("C:\WINDOWS\System32\cmd.exe /K dirquota quota list")

voici l'affichage dans le shell :

'dirquota' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

voilà je cherche encore (une impression d'enchainer problème sur problème )
1
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
23 déc. 2010 à 12:39
Bonjour,
C'est pas for clair...
Apparement tu est en VB ?
Déja, je ne vois pas pourquoi employer Shell alors que tu peu directement tout faire avec une appli console dans ton VB.
Autre chose, apparement tu fais une recherche dans un fichier texte structurer ? pourquoi pas employer les API pour extraire cette donnée ?
Tu dis.
A+
0
dsl mais c'est la première fois que j'utilise VB (je fais mes études sur du java). Tout d'abord je n'utilise pas l'appli console de VB car je doit réaliser une interface et je ne crois que se soit possible avec vb en mode console (mais bon on ne sait jamais).

apparement tu fais une recherche dans un fichier texte structurer ?

Pour être plus précis sur la commande cette dernière me permet de lister les paramètre du quota d'un utilisateur (espace utiliser, limite, nom utilisateur), j'utilise donc une redirection vers un fichier texte pour récupérer le résultat de la commande.

pourquoi pas employer les API pour extraire cette donnée ?
je ne connais pas les API =)

merci pour ta réponse rapide
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
23 déc. 2010 à 18:17
Y a trop longtemps que je ne pratique plus les DOS, (1985) pour t'aiguiller sur ce mode de Prog., mais si tu dois faire un interface, oublie le projet console et fait plutôt un projet Windows Form.
Ouverture fichier.. extraction donnée de ce fichier.. traitement de ces données..
Tout ça est façile en VB.
Pour les API ont verras après.
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

j'étais déjà en Windows Form, en ce qui concerne la commande j'ai fini par utiliser un fichier .bat en spécifiant bien l'emplacement de la commande C:\Windows\System32\dirquota.exe

Cependant, la commande ne s'exécute pas :

c:\Windows\System32\dirquota.exe n'est pas une application win32 valide

alors que si je lance une invite de commande via démarrer/invites de commandes elle marche parfaitement

...
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 24/12/2010 à 12:03
Oui, mais si tu donne une extention Exe alors que c'est un fichier texte ça va jamais aller.
Un fichier texte il doit S'OUVRIR dans une appli.
En VB ouvrir le fichier avec OPEN (voir l'aide) et ensuite tu dis la structure du fichier texte, j'essayerais de continuer.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
Euh! c'est pas un fichier texte, le dirquota.exe est une commande du system32 et je ne cherche pas à l'ouvrir, je veux juste executer le .bat qui lance la commande dirquota rien de plus.
0