Probleme d'execution de commande dos

Résolu
Mowti Messages postés 7 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 11 février 2010 - 11 févr. 2010 à 01:28
Mowti Messages postés 7 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 11 février 2010 - 11 févr. 2010 à 20:44
Bonjour,

Lorsque que j'exécute :
system("fsutil file createnew c:\test\test.txt 1048576");

Le programme m'écrit "Utilisation : .... Par ex. : ....", alors que lorsque j'exécute cette même commande directement dans l'invit de commande de windows, il n'y a aucun problème. Une solution?

P.S. : J'ai aussi essayé
char a[255];
sprintf(a, "fsutil file createnew C:\testouille\1mo.txt 1048576");
system(a);

Mais le résultat est le même.

4 réponses

Mowti Messages postés 7 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 11 février 2010
11 févr. 2010 à 20:44
Ça ne fonctionne pas. Par contre j'ai fais quelques tests, et j'ai finalement trouvé comment faire avec system, c'est enfaite, très simple :

char a[255];
sprintf(a, "fsutil createnew C:\\testouille\\1mo.txt 1048576");
system(a);


Un fichier de 1Mo est bien crée dans le répertoire C:\testouille. Il fallait juste mettre des doubles anti-slashs....

En tout cas, merci de ton aide. =)
3
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
11 févr. 2010 à 10:19
salut,

essaie _spawn ou équivalent à la place de system.
0
Mowti Messages postés 7 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 11 février 2010
11 févr. 2010 à 13:51
J'ai essayé :
char a[255];
char path[255];
sprintf(a, "fsutil file createnew C:\testouille\1mo.txt 1048576");
sprintf(path, "C:\Windows\system32\cmd.exe");
spawnl(_P_WAIT, path, a);


Mais aucun fichier n'est crée, et il me retourne -1. ( ce qui ne correspond à aucune erreur de "spawn" )
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
11 févr. 2010 à 17:44
je ne connais pa sbien mais essaie plutot ca :

char a[255];
char path[255];
sprintf(a, "file createnew C:\testouille\1mo.txt 1048576");
sprintf(path, "fsutil");
spawnl(_P_WAIT, path, a);


je pense que le cmd.exe n'est pas utile.
0
Rejoignez-nous