windows递归拷贝(或删除等操作)文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows递归拷贝(或删除等操作)文件相关的知识,希望对你有一定的参考价值。

SHFileOperation

以拷贝为例。

 

CString strFrom = ....._T("src");
CString strTo = ....._T("dest\\");

将strFrom文件夹及其下面的文件和子文件夹拷贝到   strTo下面

if (!PathFileExists(strTo))
{

CreateWindowDirectory(strTo);//创建目标文件夹,否则GetLastrError会得到 ERROR_INVALID_HANDLE错误
//strTo += _T("\\");
//wstring new_sf = source_folder + L"\\*";
WCHAR sf[MAX_PATH + 1];
WCHAR tf[MAX_PATH + 1];

wcscpy_s(sf, MAX_PATH, T2CW(strFrom));
wcscpy_s(tf, MAX_PATH, T2CW(strTo));

sf[lstrlenW(sf) + 1] = 0;
tf[lstrlenW(tf) + 1] = 0;

SHFILEOPSTRUCTW s = { 0 };
s.wFunc = FO_COPY;//拷贝,也可以指定删除等
s.pTo = tf;
s.pFrom = sf;
s.fFlags = FOF_SILENT | FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NO_UI;
int res = SHFileOperationW(&s);
}

以上是关于windows递归拷贝(或删除等操作)文件的主要内容,如果未能解决你的问题,请参考以下文章

python-Day6

Linux中常用操作命令

LINUX中常用操作命令

详谈Wind8系统改为Wind7操作步骤

Linux文件的复制删除和移动命令

Linux文件的复制删除和移动命令