Tim2460 Le Gentil Papa | carbon_14 a écrit a écrit :
Y aurait pas moyen d'utiliser une commmande "généralisée" genre
for %f in (*.txt) do remove %f. Dans %f on doit retrouver le nom du fichier comme truc.txt
Pour les noms longs, si c'est en DOS 32 bits, ça va peut-être (je suis pas certain du tout , j'ai modifié un de mes anciens prog DOS en 32 bits mais sais plus )..
|
Faire un .bat tu veux dire? J'ai essayé et le programme s'arrete aux noms avec un espace a l'interieur.... No chance
Voila le debut du code de ma deuxieme version du programme...
Si quelqu'un a une idée... Je peux lui envoyer les sources et des fichiers exemples ,)
Merci de votre temps !
Code :
- /* Fichier.c Remove [a] Ver 1.2 14/10/2002 */
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- enum {SUCCESS, FAIL, MAX_LEN = 200} ;
- int LineReadWrite(FILE *fin, FILE *fout) ;
- main ()
- {
- FILE * fptr1, *fptr2, *fptr3 ;
- int reval = SUCCESS ;
- char fichiercurrent[MAX_LEN] ;
- int fichierread = 0 ;
- int nblignes ;
- system ("DIR *miss*.txt /b >liste.txt" ) ;
- if ((fptr3 = fopen("liste.txt", "r" )) == NULL)
- {
- printf("Ouverture imposible du fichier liste.txt\n" ) ;
- reval = FAIL ;
- }
- while (!feof(fptr3))
- {
- char filename1[200] = "\"ZZ_";
- char filename2[200] = "\"" ;
- char quote = '\"' ;
- fgets(fichiercurrent, MAX_LEN, fptr3) ;
- fichierread++ ;
- strcpy(filename2, fichiercurrent) ;
- filename2[(strlen(filename2))-1] = quote ;
- /* strcat(filename2, quote) ; */
- strcat(filename1, fichiercurrent) ;
- filename1[(strlen(filename1))-1] = quote ;
- /* strcat(filename1, quote) ; */
- printf("-%s-\n",filename1) ;
- if ((fptr1 = fopen(filename1, "w" )) == NULL)
- {
- printf("Ecriture imposible dans %s\n", filename1) ;
- reval = FAIL ;
- }
- else
- {
- if ((fptr2 = fopen(filename2, "r" )) == NULL)
- {
- printf("Ouverture imposible de %s\n", filename2) ;
- reval = FAIL ;
- }
- else
- {
- nblignes = LineReadWrite(fptr2, fptr1) ;
- fclose(fptr1) ;
- fclose(fptr2) ;
- } ;
- }
- }
- return reval ;
- }
|
|