begin process at 2012 02 07 11:01:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > LISTEUR DE FICHIER DOS

LISTEUR DE FICHIER DOS


 Information sur la source

 Description

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

  • #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;
  • }
#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


 Sources du même auteur

Source avec Zip EXEMPLE COMPLET RELATIF A MON EXEMPLE DE TOOLTIP PERSONALISÉ...
CRÉER UN TOOLTIP EN FORME DE BULLE SOUS WINDOWS AVEC UNE IMA...
Source avec une capture TEXTE DE COULEUR EN CONSOLE DOS ( VC6)
Source avec Zip Source avec une capture CRÉATION D'UN RACOURCI POUR WINDOWS AVEC INTERFACE SIMPLIFIÉ...
Source avec Zip Source avec une capture EX METTRE UNE ICONE SUR UN BOUTON AVEC MFC

 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

Commentaires et avis

Commentaire de adalaa le 10/10/2004 18:48:01

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

Commentaire de sodival le 10/12/2004 14:51:04

system("dir")
ça peut pas suffire ?

Commentaire de magic_Nono le 28/04/2005 16:46:57

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.

Commentaire de Papy67 le 28/04/2005 21:02:01

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

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,733 sec (3)

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