home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------------------------------------*/
- /* ╡{ªí└╔ªW║┘: wat44.c */
- /*------------------------------------------------------------------*/
- #include <stdio.h>
- #include <dos.h>
-
- #define YEAR(t) (((t & 0xFE00) >> 9)+1980)
- #define MONTH(t) ((t & 0x01E0) >> 5)
- #define DAY(t) (t & 0x001F)
- #define HOUR(t) ((t & 0xF800) >> 11)
- #define MINUTE(t) ((t & 0x07E0) >> 5)
- #define SECOND(t) ((t & 0x001F) << 1)
-
- void main()
- {
- struct find_t fileblk;
- unsigned done;
- unsigned long FileAmount = 0;
- int FileCounter = 0, DirCounter = 0, LineCounter = 0;
-
- printf("╜╨½÷Ñ⌠ñ@┴Σ╢}⌐lªCÑ▄Ñ╪½eÑ╪┐²ñU⌐╥ª│└╔«╫ñº¼█├÷░T«º \n");
- getch();
- done = _dos_findfirst("*.*", 0X003F, &fileblk);
- while (!done)
- {
- if(!(fileblk.attrib & _A_VOLID))
- {
- if(fileblk.attrib & _A_SUBDIR)
- {
- DirCounter++;
- printf("%13s <Ñ╪ ┐²>", fileblk.name);
- }
- else
- {
- FileCounter++;
- printf("%13s %12d", fileblk.name, fileblk.size);
- FileAmount += fileblk.size;
- }
- printf(" %02d/%02d/%02d %.2d:%.2d:%.2d",
- MONTH(fileblk.wr_date),
- DAY(fileblk.wr_date),
- YEAR(fileblk.wr_date),
- HOUR(fileblk.wr_time),
- MINUTE(fileblk.wr_time),
- SECOND(fileblk.wr_time));
-
- if(!(fileblk.attrib & _A_SUBDIR))
- {
- (fileblk.attrib & _A_RDONLY) ? printf(" ░▀┼¬└╔") : printf(" ------");
- (fileblk.attrib & _A_SYSTEM) ? printf(" ¿t▓╬└╔") : printf(" ------");
- (fileblk.attrib & _A_HIDDEN) ? printf(" ┴⌠┬├└╔") : printf(" ------");
- (fileblk.attrib & _A_ARCH ) ? printf(" Ñ╝│╞Ñ≈") : printf(" ------");
- }
- putchar('\n');
- }
- LineCounter++;
- if(LineCounter > 22)
- {
- printf("╜╨½÷Ñ⌠ñ@┴Σ─~─≥...\n");
- getch();
- LineCounter = 0;
- }
- done = _dos_findnext(&fileblk);
- }
- if(DirCounter)
- {
- printf("ª@ %5d ¡╙Ñ╪┐²\n", DirCounter);
- }
- if(FileCounter)
- {
- printf("ª@ %5d ¡╙└╔«╫ : ª@ %ld ¡╙ª∞ñ╕▓╒╝╞\n",
- FileCounter, FileAmount);
- }
- }