Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 将网络文件复制到本地驱动器_Delphi_Windows 10 - Fatal编程技术网

Delphi 将网络文件复制到本地驱动器

Delphi 将网络文件复制到本地驱动器,delphi,windows-10,Delphi,Windows 10,我正在尝试将文件从网络复制到本地驱动器。该文件是mdb数据库文件。当程序失败时,我收到以下消息: “无法将网络文件N:\tmp\ArchiveTest\Archive.mdb复制到C:\tmp\oldchive.mdb。系统找不到指定的路径。” 我使用的操作系统是Windows10 if not CopyFile(pchar(ArchiveDataFolder), pchar('C:\tmp\OldArchive.mdb'), False) then begin ShowMessage('F

我正在尝试将文件从网络复制到本地驱动器。该文件是mdb数据库文件。当程序失败时,我收到以下消息:

“无法将网络文件N:\tmp\ArchiveTest\Archive.mdb复制到C:\tmp\oldchive.mdb。系统找不到指定的路径。”

我使用的操作系统是Windows10

if not CopyFile(pchar(ArchiveDataFolder), pchar('C:\tmp\OldArchive.mdb'), False) then begin
  ShowMessage('Failed to copy network file '+ArchiveDataFolder+' to C:\tmp\OldArchive.mdb '+SysErrorMessage(GetLastError));
  Exit;
end;


假设
ArchiveDataFolder
具有您声明的值,则错误会告诉您该进程无法找到
N:\tmp\ArchiveTest
C:\tmp
。您可能已经检查了路径是否存在。如果他们这样做,那么可能的原因是进程在没有映射网络驱动器号的上下文中运行

假设
ArchiveDataFolder
具有您声明的值,则错误会告诉您该进程无法找到
N:\tmp\ArchiveTest
C:\tmp
。您可能已经检查了路径是否存在。如果他们这样做,那么可能的原因是进程在没有映射网络驱动器号的上下文中运行

您是否检查了是否找到了“C:\tmp”,以及您是否有权在其中写入?或者,如果文件已经存在,请尝试将第三个参数设置为true。是的,C:\tmp存在,我有权在那里复制。@Christine-在运行每个测试之前,我已确保该文件不存在于文件夹C:\tmp中。当我从本地源复制文件时,此过程有效,但当文件在网络上时,它不会复制。这是您正在制作的程序还是服务?另外,您在哪个用户下运行程序?与登录用户相同的用户?在windows 10中,网络驱动器是特定于用户的,如果您以普通用户的身份工作,但以管理员的身份运行程序,则管理员用户可能不存在网络驱动器。您是否检查了是否找到“C:\tmp”,以及您是否有权在其中写入?或者,如果文件已经存在,请尝试将第三个参数设置为true。是的,C:\tmp存在,我有权在那里复制。@Christine-在运行每个测试之前,我已确保该文件不存在于文件夹C:\tmp中。当我从本地源复制文件时,此过程有效,但当文件在网络上时,它不会复制。这是您正在制作的程序还是服务?另外,您在哪个用户下运行程序?与登录用户相同的用户?在windows 10中,网络驱动器是特定于用户的,如果您以普通用户的身份工作,但以管理员的身份运行程序,则管理员用户可能不存在网络驱动器。我更改了代码,以引用网络文件的服务器路径\\Hermes\Apps\tmp\ArchiveTest\Archive.mdb,并且该文件现在可以正常复制。有没有找到映射到驱动器号的服务器路径的好方法?这将在我不知道网络路径但只知道映射驱动器号的计算机上运行。对不起,我刚刚回答了你提出的问题。我们能先解决这个问题吗。如果你有不同的问题,请问不同的问题。谢谢你,但你的帮助只是把我带到了另一个岛屿。如果我无法获得映射到网络驱动器的路径,则解决方案将无效。这是一个问答网站。我们的任务是回答您的问题,而不是解决所有后续问题。这回答了所问的问题。打开一个新问题。这个网站不仅帮助你,而且也帮助其他将来可能面临同样问题的人。如果在同一个线程上解决不同的问题,那么其他人就很难搜索并找到解决方案。另一方面,每个问题(甚至相关问题)都有一个不同的问题,这使它更干净,更容易找到。我更改了代码,以引用网络文件的服务器路径\\Hermes\Apps\tmp\ArchiveTest\Archive.mdb,它现在可以很好地复制文件了。有没有找到映射到驱动器号的服务器路径的好方法?这将在我不知道网络路径但只知道映射驱动器号的计算机上运行。对不起,我刚刚回答了你提出的问题。我们能先解决这个问题吗。如果你有不同的问题,请问不同的问题。谢谢你,但你的帮助只是把我带到了另一个岛屿。如果我无法获得映射到网络驱动器的路径,则解决方案将无效。这是一个问答网站。我们的任务是回答您的问题,而不是解决所有后续问题。这回答了所问的问题。打开一个新问题。这个网站不仅帮助你,而且也帮助其他将来可能面临同样问题的人。如果在同一个线程上解决不同的问题,那么其他人就很难搜索并找到解决方案。另一方面,每一个问题(甚至是相关的问题)都有不同的问题,这会使问题更清晰,更容易找到。