您的位置:首页 > 编程语言 > C语言/C++

C/C++利用system()创建文件夹,如果已存在,则先删除,再创建--windowsXP

2013-04-13 20:28 477 查看
//path代表当前目录下的文件夹相对路径
void face::mdir_empty(string path) {
string absolut_path = "E:\\face_recognizer\\img\\";
absolut_path.append(path);
cout<<"创建文件夹:"<<absolut_path<<endl;
//创建一个文件夹,如果已存在,则删掉里面的东西包括本身后,再新建
if (mkdir(absolut_path.data())){//在E:\\face_recognizer\\img\\新建一个名为path的文件夹,若failed,则返回0;
cout<<"该文件夹(目录)已存在!"<<endl;
/*if (rmdir(absolut_path.data())){
cout<<"该文件夹(或目录)不存在!"<<endl;
}else{//在E:\\face_recognizer\\img\\删除一个名为path的文件夹
cout<<"删除成功";
}*/
//system("del d:\\ok2002com\\*.*");-----只能删除文件
//rd /S /Q d:\test
/**
* 详细命令参数:cmd 下 rd /?
删除一个子目录必须同时满足两个条件:
1.子目录为空。
2.该子目录不是当前子目录。
注意:以下两个参数能在WINXP和vista系统下上使用
/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认。
*/

string command_temp = "rd /S /Q ";
command_temp.append(absolut_path);
//system("rd /S /Q d:\\ok2002com");
system(command_temp.data());
cout<<"删除文件夹中的文件,包括文件夹本身。然后重建空文件夹。"<<endl;
if(mkdir(absolut_path.data())){
cout<<"新建文件夹失败!"<<endl;
exit(-1);
}else{
cout<<"成功新建文件夹:"<<absolut_path<<endl;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐