2017-04-20 114 views
-1

我试图将文件从网络复制到本地驱动器。该文件是一个mdb数据库文件。当程序运行失败,我得到了以下信息:将网络文件复制到本地驱动器

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

操作系统我使用的是Windows 10

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; 
+0

您是否检查是否找到“C:\ tmp”,并且您是否有权写入?或者尝试将第三个参数设置为true,如果文件已经存在 –

+0

是的,C:\ tmp存在,我有权在那里复制。 – Lou

+0

@Christine - 在我运行每个测试之前,我已确保该文件不存在于文件夹C:\ tmp中。这个过程在我从本地源复制时起作用,但是当文件在网络上时它不会复制。 – Lou

回答

3

假设ArchiveDataFolder有你的状态,错误告诉您该进程无法找到任何N:\tmp\ArchiveTestC:\tmp值。大概你已经检查了路径存在。如果他们这样做,则可能的原因是该进程在没有映射网络驱动器号的上下文中运行。

+0

我更改了代码以引用网络文件及其服务器路径\\ Hermes \ Apps \ tmp \ ArchiveTest \ Archive.mdb,现在它复制文件。有没有一种很好的方法来找出映射到驱动器号的服务器路径?这将运行在我不知道网络路径但只映射了驱动器盘符的计算机上。 – Lou

+0

对不起,我只是回答了你问的问题。我们可以先处理吗?如果您有其他问题,请提出其他问题。 –

+0

谢谢你,但你的帮助只是让我到另一个岛。如果我无法获得映射到网络驱动器的路径,则该解决方案无用。 – Lou

相关问题