Listeur de fichier dos

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 352 fois - Téléchargée 36 fois

Contenu du snippet

Ce code est prévu pour etre utilisé avec Ms-Dos ,il montre comment lister un dossier

ce code a été testé avec Borland BC 5.02

Source / Exemple :


#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#include <dir.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char old_dir[MAXDIR];
char new_dir[MAXDIR];
char curdir[260];
char buffer[80];
char buffer1[80];
char drive[MAXDRIVE];
char dir[MAXDIR];
char file[MAXFILE];
char ext[MAXEXT];
int flags;
unsigned count;
int handle;
struct find_t ffblk;

char *current_directory(char *path){
  strcpy(path, "X:\\");
  path[0] = 'A' + getdisk();
  getcurdir(0, path+3);
  return(path);
}
int SetDirect(char *Path){
	if (getcurdir(0, old_dir))	{
		perror("getcurdir()");
		exit(1);
	}
	printf("Dossier source: \\%s\n", old_dir);
	chdir(Path) ;
	return 0;
}

int ScanFiles(){//on cherche les exécutables
  int a=0x01;
  int done;
  printf("Analyse du dossier: \\%s\n",old_dir);
  done = _dos_findfirst("*.exe",_A_NORMAL|_A_RDONLY|_A_HIDDEN|_A_SYSTEM|_A_ARCH,&ffblk);
  while (!done) {
	  a++ ;
	  sprintf(buffer1,"Trouv?[%.2d] %s\\%s\n",a,strupr(old_dir), ffblk.name);
	  printf("\r%s",buffer1);
  if (_dos_write(handle, buffer1, strlen(buffer1), &count) != 0)   {
			perror("chec lors de l'envoi des informations");
	 return 1;
		}
  done = _dos_findnext(&ffblk);
  }
	_dos_close(handle);
	if (a<=0x02){
		printf("il y a eu %d executable",a-1);
	}else{
		printf("il y a eu %d executables",a-1);
	}
 return 0;
}

int main (int argc,char* argv[]){
  current_directory(curdir);
  clrscr();
  printf("%c Papy67\nListeur de fichier \nMode MS-Dos\n\r%s\n\r",184,curdir);
  for (int a=0x00; a<=argc; a++){
  printf("\rArgument [%.2d] %s\n",a,argv[a]);
  }
  flags=fnsplit(argv[1],drive,dir,file,ext);
  sprintf(buffer,"%s %s %s %s",curdir,drive,file,ext);
  SetDirect(buffer);
  ScanFiles();
  return 0;
}

Conclusion :


ca a pour but de montrer comment on liste en Mode DOS

A voir également

Ajouter un commentaire

Commentaires

Messages postés
51
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
17 mars 2008

exact magic_nono
Pour info développé sous Borland C++ 5
ca a été conçu pour tourner sur du dos mais peut aussi être utilisé sous Win 3.1.x
Cette méthode est peu recommendée sous Win32 mieux vaut utiliser l'API FindFirstFile puis FindNextFile

Amusez vous bien
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
Succin mais bien

sodival> C moins précis et oblige a parser le txt reçu afin d'extraire les info voulues

Bonne prog
l'informagicien.
Messages postés
10
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
1 juillet 2005

system("dir")
ça peut pas suffire ?
Messages postés
2
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
10 octobre 2004

merci pour ton essai ,je voulais juste vous ecrire un commentaire pour vous encouragez!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.