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

C Discussion :

Utilisation de commande Batch


Sujet :

C

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Points : 53
    Points
    53
    Par défaut Utilisation de commande Batch
    Bonjour à tous,

    J'essaie d’exécuter une commande batch dans mon programme en c mais je ne comprend pas pourquoi cela ne fonctionne pas.
    Voici les lignes de codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char ChaineTest4[MAX_CHAINE] = {0};
    sprintf(ChaineTest4, "ssh-keygen -q -t ecdsa -f .ssh\\id_ecdsa -P test");
    CreateProcess(NULL , ChaineTest4, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
    Lorsque je tape la commande à la main dans cmd, ça fonctionne très bien mais pas moyen à partir de mon programme...
    J'ai aussi essayé system() et ça ne fonctionne pas non plus.
    J'ai déjà utilisé CreateProcess et system() dans mon code et cela fonctionne. Mais pas avec cette commande.
    Des idées ?

    Merci beaucoup !

  2. #2
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Qu'est-ce qui te fait dire que « ça ne fonctionne pas » ? Paumé ma boule de cristal, tout ça..

    La génération de clefs je ferais plutôt ça avec un script, perso.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Points : 53
    Points
    53
    Par défaut
    Et bien il ne se passe rien et aucune clés n'est crée.

    Oui c'est une possibilité mais il était plus avantageux de faire appel aux commandes batch dans mon programme pour mon cas.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Points : 53
    Points
    53
    Par défaut
    Lorsque j’enlève le chemin -f, on me demande où enregistrer la clé, je fais entrée et la clé se crée.
    J'aurais donc tendance à penser que l'erreur vient de mon chemin ? J'ai fait plusieurs tests de chemin mais rien n'y fait, toujours pas de clés de créées...

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Points : 53
    Points
    53
    Par défaut
    En testant sur un autre poste, j'ai remarqué que le problème venait effectivement du chemin car mon nom de session comporte un accent.
    J'ai donc résolu le problème.
    Merci

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Points : 53
    Points
    53
    Par défaut
    La commande marche bien sur mon poste Windows 10 32 bits mais pas sur un autre poste Windows 10 64 bits.
    J'ai mit les commandes de création de clés dans un script. Si je double clic sur le script du second système, les clés sont crées mais si je lance le script via le programme en C, pas de clés crées mais le script se lance bien. Les chemins sont pourtant bons
    Et la même procédure fonctionne sur mon autre PC ...

    Edit :
    J'ai testé le programme sur 4 postes : 2 en 32 bits et 2 en 64 bits.
    En 32 bits, ça fonctionne. En 64 bits, si je double clic sur le script ça fonctionne mais si je lance le script à partir du programme en c ou sans passer par le script mais directement par la commande avec system() ou CreateProcess, ça ne fonctionne pas (pas de clé créées mais le script se lance bien).
    J'ai aussi essayé de lancer le script avec CMD qui se trouve dans sysWOW64 mais rien n'y fait. Impossible de lancer cette commande via mon programme en C sur le 64 bits !

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 93
    Points : 53
    Points
    53
    Par défaut
    J'ai du nouveau. En 64 bits, mon scipt ne se lance pas avec CreateProcess mais se lance avec system(). Mais avec system(), j'ai le message d'erreur suivant lors de l’exécution de mon script par mon programme en c :
    ssh-keygen n'est pas reconnu en tant que commande interne ou externe, ..."

Discussions similaires

  1. Commande batch
    Par Arkenstone dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 23/07/2006, 13h29
  2. Utiliser des commandes MS-DOS en langage C ?
    Par Spidermeu dans le forum C
    Réponses: 33
    Dernier message: 22/02/2006, 13h10
  3. Utiliser une commande du DOS
    Par nkd dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 21/10/2005, 07h34
  4. Utilisation de fichiers batch
    Par shifty.net dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 01/08/2004, 16h31
  5. Réponses: 2
    Dernier message: 24/06/2003, 20h31

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