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

 Delphi Discussion :

Récupérer les lignes de commandes DOS


Sujet :

Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut Récupérer les lignes de commandes DOS
    Salut,
    je souhaite récupérer les lignes de commande DOS mais comment ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    begin
    ShellExecute(0,'open','cmd',PChar('cd C:\'),nil,SW_HIDE);
    Memo1.Text:=//Le contenu de DOS :-D
    end;
    Merci !

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Je ne vois pas ce que tu veux (peux) récupérer avec une commande 'CD' par contre si tu veux ton résultat de commande, par exemple pour une commande 'DIR' tu redirige ta commande dans un fichier exemple (sous dos) :
    >dir *.* >res.txt

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Ouais, je veux voir toutes les commandes, le contenu du DOS.
    Comment ça, dans un fichier DOS ?

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Help en ligne de commande liste toutes les commandes du DOS.

    Après avoir fait un Shell sur il suffira de copier une à une les lignes du fichier DosCmd.Txt dans Memo1.

  5. #5
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Citation Envoyé par defluc Voir le message
    ]il suffira de copier une à une les lignes du fichier DosCmd.Txt dans Memo1.
    Ou de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1.Lines.LoadFromFile( 'DosCmd.Txt' ) ;

  6. #6
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Un exemple pour récupérer le résultat d'une commande DOS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var commande : string ;
    //[...]
     
      commande := 'ipconfig' ;
      ShellExecute( Handle,nil, 'cmd', PChar( '/c ' + commande + ' > "D:\OUTPUT.txt"'), nil, SW_HIDE ) ;
      Memo1.Lines.LoadFromFile( 'D:\OUTPUT.txt' ) ;
    Histoire d'améliorer la chose, tu peux créer le fichier dans le répértoire temporaire de windows, puis éventuellement le détruire quand tu n'en a plus besoin. Il vaut mieux également tester l'existence du fichier avant de le charger dans ton Memo (au cas où la commande foire, aucun fichier ne sera créée).

    .

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    Salut,
    Pour ton code j'ai une erreure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Erreur] Unit1.pas(31): Types incompatibles : 'Variant' et 'PChar'
    Après la ',' je 'NULL'.
    Que dois-je faire ?
    Merci.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 114
    Points : 64
    Points
    64
    Par défaut
    C'est bon,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var commande : string ;
    begin
      commande := 'ipconfig' ;
      ShellExecute(Handle, 0, 'cmd', PChar('/c ' + commande + ' > "C:\OUTPUT.txt"'), nil, SW_HIDE);
      Memo1.Lines.LoadFromFile( 'C:\OUTPUT.txt' ) ;
    end;
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/09/2006, 13h18
  2. Exécuter une ligne de commande dos
    Par koKoTis dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 20/08/2006, 08h03
  3. Réponses: 1
    Dernier message: 26/07/2006, 12h23
  4. Réponses: 1
    Dernier message: 07/06/2006, 19h56
  5. Execution de ligne de commande DOS
    Par Chap$ dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/02/2006, 13h12

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