我正在尝试使用c ++运行以下命令
IF exist C:/Users/Alacran/Desktop/ESP/001/ echo exists ELSE mkdir C:/Users/Alacran/Desktop/ESP/001/ && echo created
但我收到错误“IF:command not found”
这是我在我的c ++程序中所做的事情
//string id is defined
....
stringstream ss;
ss << "IF exist C:/Users/Alacran/Desktop/ESP/" << id.c_str() << "/ echo exists ELSE mkdir " << "C:/Users/Alacran/Desktop/ESP/" << id.c_str() << " && echo created";
string info = ss.str();
char* path = new char(info.length() + 1);
strcpy(path, info.c_str());
system(path);
string instance;
cout << "Enter instance number" << endl;
getline(cin, instance, '\n');
....
提前致谢
答案 0 :(得分:1)
你的命令
IF exist C:/Users/Alacran/Desktop/ESP/001/ echo exists ELSE mkdir C:/Users/Alacran/Desktop/ESP/001/ && echo created
有语法问题和逻辑问题。试试这个:
(md "C:\Users\Alacran\Desktop\ESP\001" 2>nul) && echo created || echo exists
此外,不是尝试从C ++发出这样的命令,而是通过一些适当的API创建目录,例如使用Boost文件系统。