我正在尝试使用SHFileOperation()
函数将文件夹从一个目录复制到另一目录。
我使用以下链接编写了以下代码:Copy a Folder。
但是我得到错误代码0x7B,并且当我搜索有关错误的信息时,this page说:“文件名,目录名或卷标签语法不正确。”
我正确地写了文件名和目录名,但是我不知道为什么这段代码不能将ty
文件夹从D驱动器复制到D驱动器上的另一个文件夹secondfolder
。
对不起,我在您的网站上搜索了很多内容,但是我没有得到任何答案。
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
system("color 0A")
SHFILEOPSTRUCT fo;
memset(&fo, 0, sizeof(fo));
fo.hwnd = 0;
fo.wFunc = FO_COPY;
fo.pFrom = L"D:\\ty\\*\0";
fo.pTo = L"D:\\secondfolder\\*\0";
fo.fFlags = FOF_NOCONFIRMMKDIR |
FOF_NOCONFIRMATION |
FOF_NOERRORUI |
FOF_SILENT;
int n = SHFileOperation(&fo);
if(n == 0)
{
cout << "success" << endl;
}
else if (n != 0)
{
cout << "faild" << endl;
cout << hex << n << endl;
}
system("PAUSE");
return 0;
}
答案 0 :(得分:0)
您需要从*
中删除pTo
:
fo.pTo = L"D:\\secondfolder\\\0";
此外,您正在尝试仅复制ty
的内容,而不是复制ty
本身。如果需要,也可以从*
中删除pFrom
:
fo.pFrom = L"D:\\ty\\\0";