#include
#include
#include
#include
void main(int argc, char *argv[])
{
struct stat sts;
char strcmd[255],str1[255];
char *systemPath,*curpath;
char recyclebin[255];
curpath = getenv("pwd"); //获得当前路径
systemPath = getenv("HOME");//获得host目录
sprintf(recyclebin,"%s/RECYCLE_BIN",systemPath);//在host目录下建立回收站
if(!strcmp(curpath,recyclebin))
{
// 若当前目录位于回收站,则可删除回收站中的文件
for(int i=1;i
{
sprintf("strcmd,"rm -rf %s",srgv[i]);
system(strcmd);
}
return;
}
sprintf(strcmd, "mkdir -p %s",recyclebin);//建立回收站目录
system(strcmd);
for(int i=1;i
{
sprintf(strcmd, "%s/%s" ,recyclebin, argv[i]);
int k=0;
while((stat(strcmd,&sts))!=-1)
{
//若被删除的文件与回收站中的相同,则改名
sprintf(str1,"mv -f %s %s%d",strcmd,strcmd,k++);
system(str1);
strcpy(strcmd,str1);
}
sprintf(strcmd,"mv %s %s",argv[i],recyclebin);//把被删除的文件移至回收站
system(strcmd);
}
}