如何实现两台服务器间的文件复制?

albert_skynet 2009-05-31 03:30:57
服务器A ,IP:192.168.1.101 用户名:Administrator 密码:1234 OS:windows 2003 server 文件名:d:\result\a.txt,d盘result为共享文件夹

如何实现将\\192.168.1.101\result\a.txt 复制到其它计算机?

使作CopyFile复制失败,
请问,是不是需要先登陆到服务器A,
如何实现不输入用户名和密码,直接复制\\192.168.1.101\result\a.txt 到其它计算机?
...全文
2719 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
nbzip 2009-06-29
  • 打赏
  • 举报
回复
楼主好结贴了.

呵呵,用端口发送文件,就跳开了权限.用API函数COPY文件,你就要对权限进行控制.
只有二台同等权限的,然后二边都有对方复制权限的,才能COPY.
mypop2006 2009-06-29
  • 打赏
  • 举报
回复
我是进来学习的
baby52u 2009-06-29
  • 打赏
  • 举报
回复
连接网络驱动器 这个可以实现没有Dos的界面 不过需要保证能够正常访问服务器的共享目录
NETRESOURCE NR;
DWORD dwResult;


char Remote[128], Local[128];
char Login[32], Password[32] ;

wsprintf((LPSTR) Remote , "%s", txtRemoteName);//网络路径
wsprintf((LPSTR) Local , "%s", txtLocalName);//本地盘符
wsprintf((LPSTR) Login , "%s", txtLogin);//登录用户名
wsprintf((LPSTR) Password, "%s", txtPassword);//登录密码

NR.dwScope = RESOURCE_GLOBALNET ;
NR.dwType = RESOURCETYPE_ANY ;
NR.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE ;
NR.dwUsage = RESOURCEUSAGE_CONNECTABLE ;
NR.lpRemoteName = Remote ;
NR.lpLocalName = Local;
NR.lpProvider = NULL ;

// 连接网络驱动器
dwResult = WNetAddConnection2(&NR,
Password,
Login,
false) ;

switch (dwResult)
{
case ERROR_ACCESS_DENIED:
Msg = "Access to the network resource was denied." ;
break ;
case ERROR_ALREADY_ASSIGNED:
Msg = "The local device is already connecteded to a network resource." ;
break ;
case ERROR_BAD_DEV_TYPE:
Msg = "The type of local device and the type of network resource do not match." ;
break ;
case ERROR_BAD_DEVICE:
Msg = "The value specified by lpLocalName is invalid." ;
break ;
case ERROR_BAD_NET_NAME:
Msg = "The resource name is invalid, or the named resource cannot be located." ;
break ;
case ERROR_BAD_PROFILE:
Msg = "The user profile is in an incorrect format." ;
break ;
case ERROR_BAD_PROVIDER:
Msg = "The value specified by lpProvider does not match any provider." ;
break ;
case ERROR_BUSY:
Msg = "The value specified by lpProvider does not match any provider." ;
break ;
case ERROR_CANCELLED:
Msg = "The connection was cancelled by the user." ;
break ;
case ERROR_CANNOT_OPEN_PROFILE:
Msg = "The system is unable to open the user profile." ;
break ;
case ERROR_DEVICE_ALREADY_REMEMBERED:
Msg = "An entry for the device specified in lpLocalName is already in the user profile." ;
break ;
case ERROR_EXTENDED_ERROR:
Msg = "A network-specific error occured." ;
break ;
case ERROR_INVALID_PASSWORD:
Msg = "The password is invalid." ;
break ;
case ERROR_NO_NET_OR_BAD_PATH:
Msg = "A network component has not started." ;
break ;
case ERROR_NO_NETWORK:
Msg = "No network." ;
break ;
}

if (Msg.Length() > 0)
{
// MessageDlg(Msg, mtError, TMsgDlgButtons() << mbOK, 0) ;

}
yjytiantang 2009-06-27
  • 打赏
  • 举报
回复
这个函数应该就可以的啊
copyfile(pchar('源文件路径'),pchar('目标文件路径'),false)
lghndyz 2009-06-26
  • 打赏
  • 举报
回复
路过,学习!!
wf2091139 2009-06-26
  • 打赏
  • 举报
回复
把目标文件夹映射成本地盘符。select dir 的时候选这个盘符
随风来去 2009-06-25
  • 打赏
  • 举报
回复
用FTP得了
CppFile 2009-06-25
  • 打赏
  • 举报
回复
要服务器的权限才可以
qiushenwei88 2009-06-25
  • 打赏
  • 举报
回复
我来学习
BCBPLC 2009-06-08
  • 打赏
  • 举报
回复
共享目录 麻烦太多,
albert_skynet 2009-05-31
  • 打赏
  • 举报
回复
使用 net use \\192.168.1.101 "1234" /user:"administrator" 会出弹出一个DOS窗口,可不可以把这个窗口隐藏掉,不显示
我不懂电脑 2009-05-31
  • 打赏
  • 举报
回复
把这个文件夹共享出来,设好访问权限
就可以用CopyFile复制了
ccrun.com 2009-05-31
  • 打赏
  • 举报
回复
CopyFile以前,先net use \\192.168.1.101 "1234" /user:"administrator"
nbzip 2009-05-31
  • 打赏
  • 举报
回复
有权限.
====================
用CS程序,二边用端口接收文件.

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧