A voir également:
- Provoquer l'ouverture d'un fichier ac un .exe
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier apk ? - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Comment réduire la taille d'un fichier - Guide
10 réponses
Thiby
Messages postés
10
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
20 juillet 2007
1
19 juil. 2007 à 19:49
19 juil. 2007 à 19:49
Euh juste pour éviter une erreur de noob
J'ai ajouté un test à l'ouverture du fichier :
Ca permet au moins de créer le fichier texte, si celui-ci est perdu...
J'ai ajouté un test à l'ouverture du fichier :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE_BUFFER 4096
int main()
{
char buffer[SIZE_BUFFER];
char temp[SIZE_BUFFER];
char next_car;
FILE *fp;
fp = fopen("liste_msi.txt", "r");
if ( !fp )
{
fp = fopen("liste_msi.txt", "w");
fclose(fp);
return 0;
}
while( !feof(fp) )
{
memset(buffer, 0, SIZE_BUFFER);
fscanf(fp, "%s", buffer);
fscanf(fp, "%c", &next_car);
while( !feof(fp) && next_car != '\n' )
{
memset(temp, 0, SIZE_BUFFER);
fscanf(fp, "%s", temp);
strcat(buffer, " ");
strcat(buffer, temp);
fscanf(fp, "%c", &next_car);
}
if ( strcmp(buffer, "") != 0 )
{
system(buffer);
system("PAUSE");
}
}
fclose(fp);
return 0;
}
Ca permet au moins de créer le fichier texte, si celui-ci est perdu...
Thiby
Messages postés
10
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
20 juillet 2007
1
19 juil. 2007 à 17:09
19 juil. 2007 à 17:09
Salut Pierro
Pourquoi ne pas faire un simple programme C ?
du style :
fichier test.c :
Tu compiles et tu l'appelles ainsi :
test.exe path_du_fichier_à_lancer
Je me suis pas amuser à le tester mais en même temps je dois pas être loin de la vérité...
Pourquoi ne pas faire un simple programme C ?
du style :
fichier test.c :
int main(int argc, char **argv)
{
if ( argc != 1 )
return 1;
SYSTEM(argv[0])
return 0;
}
Tu compiles et tu l'appelles ainsi :
test.exe path_du_fichier_à_lancer
Je me suis pas amuser à le tester mais en même temps je dois pas être loin de la vérité...
euhh en fait je n'ai absolument aucune conaissance en programmation autre que le html...donc bon
Le bat que j'ai programmé c'était du copitage sur un autre trouvé sur le net.
Donc en fait je comprend pas trop ce que tu m'as dit de faire ni avec quel outils le faire :)
Le bat que j'ai programmé c'était du copitage sur un autre trouvé sur le net.
Donc en fait je comprend pas trop ce que tu m'as dit de faire ni avec quel outils le faire :)
Thiby
Messages postés
10
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
20 juillet 2007
1
19 juil. 2007 à 17:45
19 juil. 2007 à 17:45
Bon alors ok j'ai fait une petite erreur sans m'en apercevoir...
Revoici un code que j'ai ecris et qui fonctionne...
Pour l'appel :
prog nom_application nom_fichier
avec nom_application : l'application qui est capable d'ouvrir le fichier
et nom_fichier : le fichier à ouvrir
Maintenant tout cela est strictement inutile. Ben oui. Parce que si tu connais le fichier tu connais le programme capable de l'ouvrir. Par exemple si c'est un fichier ".xls", tu vas chercher excel et lui demander d'ouvrir ce fichier...
Donc ce que tu demandes c'est pas vraiment un programme executable à créer. Puisqu'ils existent déjà!
A toi d'aller les chercher là ou ils se trouvent...
Exemple : tu veux ouvrir un ".txt", alors tu tapes dans une fenêtre dos : c:\windows\system32\notepad.exe ton_fichier.txt
Revoici un code que j'ai ecris et qui fonctionne...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
int len_com;
char *buffer;
if ( argc != 3 )
return 1;
len_com = strlen(argv[1])+strlen(argv[2])+2;
buffer = (char*)malloc(sizeof(char)*len_com);
memset(buffer, 0, len_com);
sprintf(buffer, "%s %s", argv[1], argv[2]);
system(buffer);
return 0;
}
Pour l'appel :
prog nom_application nom_fichier
avec nom_application : l'application qui est capable d'ouvrir le fichier
et nom_fichier : le fichier à ouvrir
Maintenant tout cela est strictement inutile. Ben oui. Parce que si tu connais le fichier tu connais le programme capable de l'ouvrir. Par exemple si c'est un fichier ".xls", tu vas chercher excel et lui demander d'ouvrir ce fichier...
Donc ce que tu demandes c'est pas vraiment un programme executable à créer. Puisqu'ils existent déjà!
A toi d'aller les chercher là ou ils se trouvent...
Exemple : tu veux ouvrir un ".txt", alors tu tapes dans une fenêtre dos : c:\windows\system32\notepad.exe ton_fichier.txt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup du temps que tu passe à me répondre. En fait je veux faire ça car je suis en train de faire un fichier d'installation contenant plusieurs logiciel de bureautique (c'est pour le boulot pour avoir UN fichier contenant tous les logiciels dont j'ai besoin après chaque install windows) je fais ça avec InstallVise sauf que installVise ne peut que lancer des fichiers .exe une fois les avoirs extrait dans le repertoire
Or dans ma liste de logicile y a un .msi d'où l'utilité du exe qui, une fois extrait avec le msi ouvrira le .msi.
Pour le code que tu m'as donné, je sais pas trop quoi en faire... surtout que tu parle de nom_application alors que en fait y a pas d'aplication qui va ouvrir le fichier que je veux...tu vois ce que je veux dire ?
Or dans ma liste de logicile y a un .msi d'où l'utilité du exe qui, une fois extrait avec le msi ouvrira le .msi.
Pour le code que tu m'as donné, je sais pas trop quoi en faire... surtout que tu parle de nom_application alors que en fait y a pas d'aplication qui va ouvrir le fichier que je veux...tu vois ce que je veux dire ?
Thiby
Messages postés
10
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
20 juillet 2007
1
19 juil. 2007 à 18:17
19 juil. 2007 à 18:17
Ok je crois avoir compris ton problème...
Bien dans ce cas, tu peux utiliser mon programme. Je peux le modifier pour qu'il ne lance qu'un seul et unique programme ".msi"
Pour cela je peux le compiler et te passer l'executable.
Maintenant le mieux si tu as plusieurs ".msi", c'est que je peux modifier le programme pour qu'il lise une liste de programme ".msi" et le sexecute les uns a la suite des autres...
Enfin je connais pas "instalVise" mais d'après ce que tu dis, il semble que ce soit cela qu'il fasse?
Bien dans ce cas, tu peux utiliser mon programme. Je peux le modifier pour qu'il ne lance qu'un seul et unique programme ".msi"
Pour cela je peux le compiler et te passer l'executable.
Maintenant le mieux si tu as plusieurs ".msi", c'est que je peux modifier le programme pour qu'il lise une liste de programme ".msi" et le sexecute les uns a la suite des autres...
Enfin je connais pas "instalVise" mais d'après ce que tu dis, il semble que ce soit cela qu'il fasse?
Merci beaucoup,
Je n'ai qu'un seul programme donc ne t'embete pas.
Si tu as le temps je veux que tu me compile ton petit programme qui va bien m'aider :)
mon adresse e-mail : tupierro@gmail.com
Si tu pouvais juste faire un zip du exo ce serai cool parceque parfois les exe se font zapper...
Merci beaucoup
Je n'ai qu'un seul programme donc ne t'embete pas.
Si tu as le temps je veux que tu me compile ton petit programme qui va bien m'aider :)
mon adresse e-mail : tupierro@gmail.com
Si tu pouvais juste faire un zip du exo ce serai cool parceque parfois les exe se font zapper...
Merci beaucoup
ah et sinon je pense que ça peut être utile le nom du fichier msi c'est
ActivePerl.msi
et il se trouvera dans le même répertoire que le fichier exe qui l'éxécutera
ActivePerl.msi
et il se trouvera dans le même répertoire que le fichier exe qui l'éxécutera
Thiby
Messages postés
10
Date d'inscription
mercredi 4 juillet 2007
Statut
Membre
Dernière intervention
20 juillet 2007
1
19 juil. 2007 à 19:06
19 juil. 2007 à 19:06
Voila c'est envoyé...
Pour ceux qui veulent les sources :
Vous l'aurrez compris cela dépend d'un fichier texte nommé "liste_msi.txt" dont chaque ligne est une commande à effectuer
Pour ceux qui veulent les sources :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SIZE_BUFFER 4096
int main()
{
char buffer[SIZE_BUFFER];
char temp[SIZE_BUFFER];
char next_car;
FILE *fp;
fp = fopen("liste_msi.txt", "r");
while( !feof(fp) )
{
memset(buffer, 0, SIZE_BUFFER);
fscanf(fp, "%s", buffer);
fscanf(fp, "%c", &next_car);
while( !feof(fp) && next_car != '\n' )
{
memset(temp, 0, SIZE_BUFFER);
fscanf(fp, "%s", temp);
strcat(buffer, " ");
strcat(buffer, temp);
fscanf(fp, "%c", &next_car);
}
if ( strcmp(buffer, "") != 0 )
system(buffer);
}
fclose(fp);
return 0;
}
Vous l'aurrez compris cela dépend d'un fichier texte nommé "liste_msi.txt" dont chaque ligne est une commande à effectuer