[VBSCRIPT] Exécution d'une ligne de commande [Résolu]

Signaler
Messages postés
23
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
14 décembre 2006
-
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
-
Bonjour,

Comment faire pour executer une ligne de commande en vbscript

Merci de votre aide
Nicolas

15 réponses

Messages postés
23
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
14 décembre 2006

Bon j'avais pas vu toutes vos reponses, je pense que j'ai tout ce qu'il me faut !

Merci à tous !
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,
>[auteurdetail.aspx?ID=616944 nicobox2]: Si tu as résolu ton problème même seul, penses à appuyer sur réponse acceptée sur le post résolvant ton problème (même le tien)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
174
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
15 février 2007
2
Bonjour,

ca marche pas SHELL ?
Messages postés
23
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
14 décembre 2006

Non ...

Mais depuis j'ai trouvé il faut faire ca :

Set WshShell = WScript.CreateObject("WScript.Shell")
ligne_cmd = "cmd"
WshShell.Run (ligne_cmd)

Merci quand meme a+
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

J'ai eu le même problème il faut que tu double tes côtes

WshShell.Run """cmd /c d:\output_file.bat"""
essai çà

Cramsoturf le VBien en quête de nouveau programme
Messages postés
23
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
14 décembre 2006

Maintenant je bloque sur un autre point a savoir comment executer plusieurs ligne de commande dans le meme WshShell sans ouvrir une autre fenetre à chaque fois. Dans mon cas je souhaite ouvrir un cmd et envoyer dans cet fenetre plusieurs commandes (ftp, login, mpd ...)

Savez vous comment faire ?

D'avance merci
Messages postés
23
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
14 décembre 2006

Ba en fait j'y arrive pas ... C'es très simple ce que je veux faire mais je ne touvre pas la solution

J'execute depuis mon vbs le code suivant :

Set WshShell = WScript.CreateObject("WScript.Shell")



ligne_cmd = send_data.cmd



WshShell.Run (ligne_cmd)



Mais je bloque sur le contenu du fichier .cmd

(en fait je veux envoyer des données par ftp)

@echo off
ftp
open serveurtest.essai.fr

La fenetre s'ouvre, le ftp se fait mais pas le open ... je dois me planter dans la syntaxe, c'est pour ca que je cherchais un moyen en vbs d'envoyer une commande dans le fenetre cmd ouverte mais je ne sais pas faire.

Can you help me ? thanx a lot.
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
25
 Re,

Merci à Cramfr   pour l'info sur le double quote.

jean-marc
Messages postés
3
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
14 avril 2008

j'aimerai envoyer plusieur commande shell a la suite dans la meme fenetre de commande

c'est possible sans fichier *.bat ??
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

ben oui à priori
pourquoi ?
Cramsoturf le VBien en quête de nouveau programme
Messages postés
3
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
14 avril 2008

ba comment on fait ??
Messages postés
160
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
8 juillet 2008

Ben comme c'est expliqué Dans les commentaire précédent en vbscript (.vbs) c'est lancer avec wscript.exe ou cScript.exe
un double click sur un vbscript se lance automatiquement... Informe toi sur le fonctionnement du vbscript.

@+,
Cramfr

Cramsoturf le VBien en quête de nouveau programme
Messages postés
3
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
14 avril 2008

ba non .....

je veut faire genre :

c:
cd\
cd mes documents/test
dir > test.txt

sans mettre tout sa dans un fichier *.bat

 
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
25
 Bonsoir,

Voir le snippet de rvblog.

wshShell.run "cmd /c dir " & """C:\Mon repertoire à moi""" & "> c:\DIR_test.txt""",0

ou passer par un exec:

Set objShell = CreateObject("Wscript.Shell")
strCommand = "cmd /c dir " & """C:\Mon repertoire à moi""" & " /s"

Set objExec = objShell.Exec(strCommand)
  
Do Until objExec.Status
    Wscript.Sleep 250
Loop

Wscript.Echo objExec.StdOut.ReadAll()

jean-marc
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
25
 Bonjour à tous....

Bonjour 616944 nicobox2
Je n'utilise pas le dos dans mes scripts, mais j'ai quelques exemples glanés à droite/gauche.

Exemple concret, simple:

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c d:\output_file.bat"
'execute la console en mode invisible avec le batch crée ...
Set WshShell = Nothing

mon fichier "d:\output_file.bat " contient la ligne ci-dessous:
dir /b  > d:\output_file.txt

Résultat:
Création du fichier "d:\output_file.txt" contenant tous les
fichiers (tri alphanumérique) du répertoire courant.

Je n'ai pas encore résolu le problème "'execute la console en mode invisible avec le batch crée ...",
puisque l'on entr'aperçoit la console dos.

jean-marc