begin process at 2010 02 10 04:39:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Fichier & Disque

 > 

Exécuter les commandes d'un fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exécuter les commandes d'un fichier

dimanche 7 janvier 2007 à 22:43:11 | Exécuter les commandes d'un fichier

Alongra

Bonsoir/bonjour tout le monde !

J'espère que vous allez bien et que cette nouvelle année à bien commencé pour vous !!

Voilà, je dois réaliser un programme qui lit dans un fichier une suite de commande et dois les éxécuter, par exemple :
ls -l
free
touch toto

J'ai fait un tableau contenant les commandes à éxécuter, ensuite je les exécutes avec :
execlp (tableau[i], tableau [i], NULL)

Vous aurez bien compris que ça ne marche que quand on à des commandes du type "ls" ou "free", mais dés qu'il y a des options c'est mort. J'ai donc commencer à coder cela :

typedef struct
{
    char nomCommande[COMMAND_LIMIT];
    char option[50];
    char parametre[PARAMETER_LIMIT];
} Commande;
 
int main()
{
    FILE *fichier = NULL;
    Commande *cmd;
    int i=0;
   
    fichier = fopen("commande", "r");
    if (fichier == NULL)
        exit(1);

    while (feof(fichier) == 0)
    {
        fscanf(fichier, "%s%s%s", cmd[i].nomCommande, cmd[i].option, cmd[i].parametre);
        printf ("%s%s%s\n",cmd[i].nomCommande, cmd[i].option, cmd[i].parametre);
        i++;
    }   
    fclose(fichier);

}

Ma question est, est-il possible de tester ce que l'on récupère du fscanf ? Car si ce que l'on récupère commence par un '-' alors on le met dans cmd[i].option, et pouvoir gérer aussi les "colonnes" vides car par exemple, si on tombe sur un "ls" sans option et sans paramètre alors il prendra pour le cmd[i].option le  cmd[i+1].nomCommande...

Un grand merci à tout ceux qui répondront et très bonne semaine !!



dimanche 7 janvier 2007 à 23:00:02 | Re : Exécuter les commandes d'un fichier

yann_lo_san

Réponse acceptée !

Salut,
execvp
() ne prend il pas les parametres des commandes dans un tab de commandes ?

lundi 8 janvier 2007 à 11:24:43 | Re : Exécuter les commandes d'un fichier

Alongra

Réponse acceptée !
Salut et merci d'avoir répondu !!

En effet, cette commande me parait mieux, toutefois, il réside un problème, car à l'heure actuelle mon tableau de commande est du style :
Tableau[0] = "ls"
Tableau[1] = "ls -l -a /dev"
...
Lors de la première itération sa passe, mais la seconde ça marche pas car il faut séparer les paramètres, je cherche une méthode facile pour le faire d'où mon code plus haut mais qui pose aussi des problèmes (exposé plus haut).


Cette discussion est classée dans : fichier, commande, option, cmd, commandes


Répondre à ce message

Sujets en rapport avec ce message

lire un fichier d'option [ par Vinsou ] Je dévellope un projet sous linux. Dans ce programme j'ai des variables qui contiennent le chemin de fichiers se trouvant sur le système, qui doivent Batch [ par oRTEEZ ] On m'a dit:"Ton programme il est bien (je veux cela fait deux mois que je suis dessus) mais on a pas du etre tres clair parce qu'en fait on voudrait q recherche d'aide [ par bifaka ] je suis coincée par un projet je ne sais pas si j'ai le droit de vous le soummettre mais je vais quand même essayer pour des fois où il y'aurait quelq Supprimer des mots dans une phrases ... [ par oshin ] Salut,J'aimerais arriver a faire en sorte que lorsque mon bot recoie une commande, il enléve certain mot ex:!cmd nickserv identify passwordhé bien là Thème XP [ par Nikoscian ] Quelqu'un sait-il comment faire des applications Windows utilisant les thèmes XP (boutons,onglets..) avec DEV-C++ 5?Il y a une option permettant de l' executer une commande systeme [ par anthraxx ] bonjour,je voulais savoir si quelqu'un connait un moyen d'éxecuter des commandes su systemes d'exploitation sous Windows, et d'en récupérer l'output.I Cin capricieux... [ par DJeS ] c'est sans doute tres idiot mais bon voila...je fais un ptit prog test pr m'assurer que l'erreur viens bien d'ou je pense...:#include int main(){char Exécuter cmd DOS [ par ro0tsman ] Bonjour tt l'monde,voilà mon problème : je souhaite exécuter une commande DOS donc ca c'est bon c'est pas un problème mais cette commande est du type execution d'une commande depuis un fichier c [ par Ensias ] Bonjour , je voudrais savoir comment executer une commande unix ( ls par exemple ) depuis une fichier  .c Merci Faire exécuter plusieurs commandes à la cmd dans la même Console [ par Sens0r ] Bonjour,j'airais besaoin d'un coup de main de votre part.J'ai un programme qui devrait exécuter quelques commandes dans la cmd.exe après l'avoir lancé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales