我的问题是我有几个名称为“MORE0001”“MORE0002”等的文件夹,它们各包含一个.SPE
文件。
我想通过遍历所有单个.SPE
- 文件夹来了解是否有办法将所有MORE...
- 文件解压缩到一个文件夹。
我需要某事。像这样:
for (int i=0; i<10;i++){
newfile = getfile("directory/MORE%04d/filename.SPE", i);
// copy newfile to a new directory..
}
我希望你们能帮我找到一个简单的解决方案,因为我还没有找到类似的问题。
答案 0 :(得分:1)
这太简单了..
我可以使用rename-function ..
所以它会像:
rename(path/filename.SPE, newpath/filename.SPE);
谢谢,但我自己解决了;)!
答案 1 :(得分:0)
I have created one sample program, which might helps to resolve your problem.
#include<Windows.h>
#include<regex>
using namespace std;
void main()
{
regex e1("MORE\\d+");
string szDir = "C:\\*";
WIN32_FIND_DATA ffd;
HANDLE hFind = FindFirstFileA(szDir.c_str(), &ffd);
do
{
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (regex_match(ffd.cFileName,e1 ))
{
string s1 = ffd.cFileName;
string s2 = "C:\\" + s1 + "\\*";
WIN32_FIND_DATA ffdMORE;
HANDLE hFindMORE = FindFirstFile(s2.c_str(), &ffdMORE);
do
{
regex e2("\\w+.SPE");
if (regex_match(ffdMORE.cFileName,e2))
{
string commondir = "C:\\CommonDir\\";
string sourcePath = "C:\\" + s1 + "\\";
CopyFile(sourcePath.append(ffdMORE.cFileName).c_str(), commondir.append(ffdMORE.cFileName).c_str(), FALSE);
}
} while (FindNextFile(hFindMORE, & ffdMORE) != 0);
}
}
} while (FindNextFile(hFind, &ffd) != 0);
}
Thanks, Bharathraj