VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 7134|回复: 7

从服务器上如何实现文件拷贝到本地

[复制链接]
94_avatar_middle
最佳答案
0 
在线会员 发表于 2016-1-28 18:17:18 | 显示全部楼层 |阅读模式
想从服务器192.85.121.3上把文件夹命名为20160117中的所有内容拷贝到本地电脑E:\\备份\\局2\\201601\\20160117下面,以下是原代码:最后提示copy is error,本地电脑中文件拷贝是可以的,我想应该是服务器拷到本地源地址表示可能不对m_strSourceFolder="\\192.85.121.3\\e$\\backsave\\X3KM\\normal\\20160117";但是不知道怎么弄,希望高手能指导下,非常感谢!
UpdateData(true);
   CString        m_strSourceFolder="\\192.85.121.3\\e$\\backsave\\X3KM\\normal\\20160117";
   CString        m_strDestFolder="E:\\备份\\局2\\201601\\20160117";
   SHFILEOPSTRUCT  sfo;//结构体
   char szSource[MAX_PATH];
   char szDest[MAX_PATH];
   lstrcpy(szSource,m_strSourceFolder);//源目录
   lstrcpy(szDest,m_strDestFolder);//目的目录
   szSource[lstrlen(szSource)+1] = 0;
   szDest[lstrlen(szDest)+1] = 0;
   sfo.hwnd = NULL;//窗口指针
   sfo.wFunc = FO_COPY;//操作类型为复制
   sfo.pFrom = (LPCSTR)szSource;//源目录
   sfo.pTo = (LPCSTR)szDest;//目的目录
   sfo.fFlags =   FOF_NOCONFIRMATION |                //对所有复制过程中可能弹出的对话框采用“全是”选项
                  FOF_SIMPLEPROGRESS |                //使用进度条
                  FOF_NOCONFIRMMKDIR ;                //不自动创建新目录
   sfo.hNameMappings = 0;
   sfo.lpszProgressTitle = "文件夹拷贝";//进度条的标题

   if(!SHFileOperation(&sfo)==0)                        //拷贝成功,SHFileOperation返回0
        //   AfxMessageBox("copy is ok");
   
   //else
           AfxMessageBox("copy is error");
       ShowWindow(SW_SHOWMINIMIZED) ;




上一篇:pc打开浏览器如何通过高德地图进行定位
下一篇:修改 获取宽带ADSL的账号与密码 源码 要求能在vs2010上用
51_avatar_middle
最佳答案
82 
online_admins 发表于 2016-1-30 09:37:54 | 显示全部楼层
你这种拷贝在操作之前最好先把 \\192.85.121.3\\e$ 映射到本地磁盘,之后再用上面的代码拷贝就应该没问题了
43_avatar_middle
最佳答案
0 
在线会员 发表于 2016-2-1 13:37:31 来自手机 | 显示全部楼层
首先 ,个人认为你的m_strSourceFolder处写的有问题,开头应该4个反斜杠,这样才是\\IP\ShareName样式的标准unc路径。而且unc路径应该原生支持才对,不用映射,看看标准的windows file api,像createfile这些能不能用。一般unc的重定向器会透明的帮你处理的
43_avatar_middle
最佳答案
0 
在线会员 发表于 2016-2-1 13:39:41 来自手机 | 显示全部楼层
而且,你应该首先确认服务器上的135是开着的,国内的运营商在冲击波病毒之后都是封堵135端口的。看起来192.85并不属于局域网
94_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2016-2-2 13:29:44 | 显示全部楼层
Syc 发表于 2016-1-30 09:37
你这种拷贝在操作之前最好先把 \\192.85.121.3\\e$ 映射到本地磁盘,之后再用上面的代码拷贝就应该没问题了

请教如何映射到本地磁盘啊
94_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2016-2-2 13:34:26 | 显示全部楼层
gyc990326 发表于 2016-2-1 13:37
首先 ,个人认为你的m_strSourceFolder处写的有问题,开头应该4个反斜杠,这样才是\\IP\ShareName样式的标 ...

m_strSourceFolder="\\\\192.85.121.3\\e$\\backsave\\X3KM\\normal\\20160117";  这样吗?我去调试下看看  谢谢
43_avatar_middle
最佳答案
0 
在线会员 发表于 2016-2-2 20:04:27 | 显示全部楼层
对,在资源管理器的时候不是\\IP\ShareName吗,所以应该是"\\\\IP\\ShareName"
09_avatar_middle
最佳答案
0 
在线会员 发表于 2017-9-25 09:20:08 | 显示全部楼层
gyc990326 发表于 2016-2-2 20:04
对,在资源管理器的时候不是\\IP\ShareName吗,所以应该是"\\\\IP\\ShareName"

学习一下
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-21 20:53

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表