IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

[WScript.shell] je n'arrive pas a executer de commande dos


Sujet :

ASP

  1. #1
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut [WScript.shell] je n'arrive pas a executer de commande dos
    Bonjour bonjour!

    Cela fait plusieurs jours que je "crise" littéralement sur un problème qui a pourtant l'air d'etre tres tres simple : je souhaite tout betement executer une commande dos en asp.

    jusqu'a present j'utilisais un composant pour executer mes commandes, mais, la commande que je souhaite maintenant executer necessite plusieurs heures avant d'arriver a son terme... or le composant attend jusqu'a ce que la commande soit totalement executee.. (inutile de vous dire que les petits internautes ils vont pas attendre 3h que leur page web veuille bien s'afficher...)
    donc je me vois obligée de me tourner vers d'autres solutions et j'ai decouvert l'objet wscript.shell avec la methode run. Seul probleme: pas moyen de faire marcher la chose...

    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim WshShell
     
        ' déclaration d'un objet WshShell
        Set WshShell = Server.CreateObject("Wscript.Shell")
     
        response.Write(WshShell.Run("cmd.exe /c mkdir e:\blablatest",1,true))
        ' destruction de l'objet WshShell
        Set WshShell = nothing
    ca me renvoie "1" et puis c'est tout...

    Ma question est donc : Qu'est ce que je fais de mal??

    je desespere...

    merci d'avance pour votre aide!

  2. #2
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Points : 118
    Points
    118
    Par défaut Re: [WScript.shell] je n'arrive pas a executer de commande d
    qu'est ce que tu veux faire avec ceci?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd.exe /c mkdir e:\blablatest

  3. #3
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    et bien créer un répertoire blablatest sur le serveur...
    c'est pas comme ca qu'il faut faire :

    le seul but de cette commande est de tester le script...

  4. #4
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Points : 118
    Points
    118
    Par défaut
    faire un test avec mkdir e:\blablatest

  5. #5
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    voila le resultat :
    Error Type:
    (0x80070002)
    /webstatistik/test.asp, line 20
    et voila la ligne 20:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.Write(WshShell.Run("mkdir e:\blablatest",1,true))

  6. #6
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    serait il possible que le probleme vienne de la configuration du serveur? du repertoire virtuel?

  7. #7
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Points : 118
    Points
    118
    Par défaut
    le message veut dire qu'il ne trouve pas le e:\

  8. #8
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Désolé, je ne peux pas t'aider
    en revanche, je suis très intéressé par le composant que tu utilises et qui apparement faire attendre au serveur la fin du processus pour continuer l'exécution de la page.
    Peux-tu nous indiquer le nom de ce composant stp.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Points : 118
    Points
    118
    Par défaut
    excuse moi pour tout a l'heur, je t'ai repondu trop vite.(on oubli tout)
    tes codes sont corrects a la premiere vue.

    Dim WshShell

    ' déclaration d'un objet WshShell
    Set WshShell = Server.CreateObject("Wscript.Shell")

    response.Write(WshShell.Run("cmd.exe /c mkdir e:\blablatest",1,true))
    ' destruction de l'objet WshShell
    Set WshShell = nothing
    mais tu as quoi comme message erreur?
    parce c'est bizarrr, on ne peut pas faire plus simple pour creer un repertoire via WshShell.Run
    ce qu'il est encore plus bizzzarrrr tu as 1 comme reponse

  10. #10
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Points : 118
    Points
    118
    Par défaut
    pour GUYON pour faire une pause

    tu as une function sleep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WScript.Sleep xxxx
    je n'ai jamais utilisé. mais on m'a dit du bien

  11. #11
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    Merci blabla-fr mais je crois que sleep ne permet que l'"endormissement" du processus pendant un temps fixe (ex:10secondes) et non un temps dépendant de l'exécution d'un processus annexe, à savoir quand processus 2 terminé, reprendre processus 1
    Je suis désolé Linele, je m'accapare un peu ton message
    si vous voulez continuer cette discussion sur les sleep, je pense qu'il est préférable de migrer sur un autre message :
    http://<br /> http://www.developpez...d7a21e5a<br />

  12. #12
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Points : 118
    Points
    118
    Par défaut
    Pour Guyon
    Ok je pensais que je veux faire une pause betement.
    sinon le Wscript.Shell avec un option true ?

  13. #13
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par blabla-fr
    excuse moi pour tout a l'heur, je t'ai repondu trop vite.(on oubli tout)
    tes codes sont corrects a la premiere vue.

    Dim WshShell

    ' déclaration d'un objet WshShell
    Set WshShell = Server.CreateObject("Wscript.Shell")

    response.Write(WshShell.Run("cmd.exe /c mkdir e:\blablatest",1,true))
    ' destruction de l'objet WshShell
    Set WshShell = nothing
    mais tu as quoi comme message erreur?
    parce c'est bizarrr, on ne peut pas faire plus simple pour creer un repertoire via WshShell.Run
    ce qu'il est encore plus bizzzarrrr tu as 1 comme reponse
    ben justement j'ai pas de message d'erreur... donc forcement pour cibler le probleme apres c'est un peu plus dur...

    je recupere juste un 1... si il y a moyen de recuperer autre chose, genre la description, que le code d'erreur ca m'interresse!!

    note: je sais pas si c'est utile mais bon, si je mets une commande bidon a la place de cmd toute la page plante...

    je suis presque sure que ca vient de la configuration du serveur ou du repertoire virtuel puisque le code je peux rien faire de plus bateau que ca... et tu confirmes qu'il ne contiendrait pas d'erreur

    je suis perdue

  14. #14
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    Citation Envoyé par GUYON
    Je suis désolé Linele, je m'accapare un peu ton message
    pas grave !
    par contre pour le composant c'est un composant maison et donc j'ai pas le droit de le partager... moi meme je ne sais pas comment il fonctionne derriere ni comment il tourne. on m'a juste donné le mode d'emploi... desolee!
    par contre essaie effectivement un wscript.shell avec en parametre dans le run ("tacommande",1,true)

  15. #15
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 50
    Points
    50
    Par défaut
    ne me demande pas d'explication mais je pense que si tu passes par une variable, ca peut marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim valReturn
    Set WSHShell= WScript.CreateObject("WScript.Shell")
    valReturn = WshShell.Run("Ta Commande DOS" , 0, True)
    Essaie, tu verras bien

  16. #16
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    j'ai essaye aussi mais c'est pas plus concluant

    en fonction de la commande je recupere du 0 du 1 ou du -1 mais ca ne fait strictement rien...

  17. #17
    Membre actif Avatar de LineLe
    Inscrit en
    Septembre 2003
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2003
    Messages : 285
    Points : 246
    Points
    246
    Par défaut
    probleme resolu :
    on m'a mis en place un nouveau composant du meme genre que le premier... c'est quand meme un peu vexant quand quelqu'un resoud un probleme en quelques minutes alors que vous y avez deja passe des journees entieres...

    Mais merci de vous etre penche sur la question!!

  18. #18
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Le pb est résolu je sais, mais pour info. J'ai testé ceci et ça a marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%
    Set WshShell = Server.CreateObject("Wscript.Shell") 
    call WshShell.Run("cmd.exe /c mkdir c:\blablatest",1,true)
    Set WshShell=nothing 
    %>
    Mais, testé en local, sur un serveur W2000, donc je suis en mm temps client et serveur.

    A+

  19. #19
    Nouveau Candidat au Club
    Inscrit en
    Février 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Wscript.Shell
    Citation Envoyé par Linele
    probleme resolu :
    on m'a mis en place un nouveau composant du meme genre que le premier... c'est quand meme un peu vexant quand quelqu'un resoud un probleme en quelques minutes alors que vous y avez deja passe des journees entieres...

    Mais merci de vous etre penche sur la question!!

    Bonjour,

    je viens de lire tes posts sur Wscript.Shell datant de l'année dernière...
    J'ai le même pb que toi à priori et tu disais que pour résoudre ton pb on t'avait installé un nouveau composant.
    Pourrais-tu me dire de quel composant il s'agit ?

    Merci d'avance.

  20. #20
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous !
    je me trouve confronté à ce même genre de problème...
    Bon j'explique ce que je souhaite faire :
    Alors pour commencer je veux faire une copie de fichier d'un serveur Linux vers un serveur Windows (celui ou ya IIS qui tourne) en utilsant PSCP (le protocol securisé de putty) donc ma commande PSCP je l'ai écrite dans un .bat
    ensuite depuis ma page ASP eh bien je désire éxécuter ce fameux .bat donc voici le code ASP que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%
    Dim WshShell
     
    Set WshShell = Server.CreateObject("WScript.Shell")
    Call WshShell.run("cmd.exe /c c:\monfichier.bat",1,true)
    Set WshShell=nothing
     
    %>
    je ne vois pas où est l'erreur...si quelqu'un pouvait me renseigner...je pensais peut etre à une histoire de droit ou je sais pas trop quoi parce que je n'arrive à rien exécuter avec le WshShell.run...j'ai essayé de lancer paint ou notepad...sans succès merci d'avance pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Probleme d'execution de commande Dos
    Par Flow_75 dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/11/2006, 22h32
  2. [PowerBuilder] Executer une commande DOS sous PB
    Par Deedoo2000 dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 09/08/2006, 15h54
  3. [API][Système] Executer une commande dos avec arguments
    Par oOoOuuhmAn dans le forum Général Java
    Réponses: 4
    Dernier message: 17/03/2006, 12h37
  4. executer une commande dos a partir d'une page WEB
    Par wagga84 dans le forum Langage
    Réponses: 1
    Dernier message: 15/03/2006, 11h09
  5. [Debutant(e)][Système]Executer une commande DOS
    Par iceman dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 18/05/2004, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo