代码如下:
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_MOVE;
sfo.pFrom = "c:\\My_Docs2\\0";
sfo.pTo = "d:\\My_Docs2\\1";
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);
照这么写我可以把文件夹"c:\\My_Docs2\\0移动到d:\\My_Docs2\\1";
那我想文件夹"c:\\My_Docs2\\0复制移动到d:\\My_Docs2\\1"; 。该怎么做?保留原来的
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_MOVE;
sfo.pFrom = "c:\\My_Docs2\\0";
sfo.pTo = "d:\\My_Docs2\\1";
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);
照这么写我可以把文件夹"c:\\My_Docs2\\0移动到d:\\My_Docs2\\1";
那我想文件夹"c:\\My_Docs2\\0复制移动到d:\\My_Docs2\\1"; 。该怎么做?保留原来的
解决方案 »
- 怎么在TreeCtrl中插入指定位置的新节点?
- 请教了很多人都没得到答案!如何修改VC自动生成的ACTIVEX注册名字
- 求教:这样的东西怎么做??
- 同一Socket同时收到很多的数据的时候,CAsyncSocket::OnReceive函数无法完全响应,只受到有限的几条数据。
- 急,有哪位前辈知道如何在CView派生的视图中,实现象CDialog的按Tab在各个控件中转移焦点的功能??谢谢大家!
- 接包问题
- 如何实现位图的分包传送和接受
- 请问如何预设定保存文件名字
- 为什么MFC下的控件随着xp主题的更换颜色发生变化
- 有谁能交我如何学VC
- 实现类似unlocker的功能,需要用到哪些api?
- 关于vc++ 2005设置问题
TCHAR szFullPath[MAX_PATH];
GetModuleFileName(NULL,szFullPath,MAX_PATH);
TCHAR* pszModuleFileName = _tcsrchr(szFullPath, _T('\\'));
pszModuleFileName[0]=_T('\0');
SetCurrentDirectory(szFullPath);
CString CurrentDir(szFullPath);
CurrentDir.Replace("\\", "\\\\"); //获得程序地址
CString s1,s2;
s1=CurrentDir+"\\\\A";
s2=CurrentDir+"\\\\B\\\\data";
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom = s1;
sfo.pTo = s2;
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);
把A文件夹复制移动到B文件夹更名为data。为啥不行了。我的s1,s2有什么问题吗?
pszModuleFileName[0]=_T('\0');
这是什么意思???为什么第0个写成终止符???
怎么那么多斜杠???s1=E:\xin\A 才是正确的结果。
这个事你自己加的吧?去掉。
s1=CurrentDir+"\\\\A";
s2=CurrentDir+"\\\\B\\\\data";
这里不需要这么多\,保留一半。
我加这么多是因为原来直接写地址的时候,E:\xin\A没反应变成这样E:\\xin\\A就可以
sfo.pTo = s2;
s1 和s2 应该转化成char * 类型的 CString FileName="";
char FileName[100]="\0";
memcpy(FileName,s1,s1.GetLength());
sfo.pTo = "d:\\My_Docs2\\1";
感觉这个 都有点问题.
貌似这个赋值后面还要加\0
sfo.pFrom = "c:\\My_Docs2\\0\0";
sfo.pTo = "d:\\My_Docs2\\1\0";
TCHAR szFullPath[MAX_PATH];
GetModuleFileName(NULL,szFullPath,MAX_PATH);
TCHAR* pszModuleFileName = _tcsrchr(szFullPath, _T('\\'));
pszModuleFileName[0]=_T('\0');
SetCurrentDirectory(szFullPath);
CString CurrentDir(szFullPath);
CString s1,s2;
s1=CurrentDir+"\\A";
s2=CurrentDir+"\\B\\data";
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom = s1;
sfo.pTo = s2;
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);
不行
FileInfo.hwnd=this->m_hWnd;
FileInfo.wFunc=FO_COPY;
FileInfo.pFrom=L"C:\\My_Docs2\\0";
FileInfo.pTo=L"D:\\My_Docs2\\1";
FileInfo.fAnyOperationsAborted= true; //可以被打断
FileInfo.fFlags=FOF_SIMPLEPROGRESS;
FileInfo.lpszProgressTitle=L"复制文件";
int ret=SHFileOperation(&FileInfo);
CString s1,s2;
s1="D:\\8\\1";
s2="D:\\8\\2";
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom =s1; sfo.pTo = s2;
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);
没反应。可我要这么些就可以。
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom =="D:\\8\\1"; sfo.pTo = "D:\\8\\2";
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);
TCHAR szFullPath[MAX_PATH];
GetModuleFileName(NULL,szFullPath,MAX_PATH);
TCHAR* pszModuleFileName = _tcsrchr(szFullPath, _T('\\'));
pszModuleFileName[0]=_T('\0');
SetCurrentDirectory(szFullPath);
CString CurrentDir(szFullPath);
CString s1,s2;
s1=CurrentDir+"\\A";
s2=CurrentDir+"\\B\\data";
LPCTSTR p1=s1;
LPCTSTR p2=s2;
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom = p1;
sfo.pTo = p2;
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
int hr = SHFileOperation(&sfo);