磁盘文件粉碎机
使用格式为:C:\>XDEL 文件名〈回车〉
XDEL是一个十分危险的命令,使用时需要十分小心,一失足将成千古恨!故此XDEL在每删除一个文件时均给出一个确认信息如下:
Are you sure?
键入Y表示删除,键入N表示不删除。
XDEL.C的源程序如下:
#include "dos.h"
#include "stdio.h"
#include "stdlib.h"
#include "io.h"
#include "fcntl.h"
#include "string.h"
#include "mem.h"
#define SIZE 1024
main(int argc,char *argv)
{
FILE *fp;
int fd,fsize,fnum;
char *buf;
int ch;
if(argc!=2) {
printf("\nUsage: c:\\>xdel filename.ext\n");
exit(1);
}
printf("\nAre you sure?");
ch=getce();
if ((ch!='y')&&(ch!='Y')) exit(1);
if((access(argv,0))==-1) {
printf("\nFile %s does not exist.\n",argv);
exit(1);
}
_chmod(argv,1,FA_HIDDEN);
if ((fd=_open(argv,O_RDWR))==-1) {
printf("\nCan not open file %s.\n",argv);
exit(1);
}
fsize=filelength(fd);
fnum=fsize/SIZE+1;
memset(buf,'\0',SIZE);
do {
write(fd,buf,SIZE);--fnum;
} while(fnum>0);
close(fd);
fp=fopen(argv,"w");
fclose(fp);
rename(argv,"@");
unlink("@");
}
本程序在AST 386/25上TURBO C 2.0版下调试通过。 (成都 成文佳)