2017-04-20 4 views
-1

ネットワークからローカルドライブにファイルをコピーしようとしています。このファイルはmdbデータベースファイルです。プログラムが失敗したとき、私は、次のメッセージが表示されます:ネットワークファイルをローカルドライブにコピーする

「ネットワークファイルNのコピーに失敗しました:\ TMP \ ArchiveTest CにArchive.mdb \:\ TMP \ OldArchive.mdbシステムは指定されたパスを見つけることができません。 "

私が使用していますOSは、Windows 10

ArchiveDataFolderは、エラーがプロセスが N:\tmp\ArchiveTestまたは C:\tmpのいずれかを見つけることができないことを示しています、あなたは状態値を持っていると仮定すると
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"が見つかったかどうか、書き込み権限がある場合はチェックしましたか?または、ファイルがすでに存在する場合は、3番目のパラメータをtrueに設定してください。 –

+0

はい、C:\ tmpが存在し、そこにコピーする権利があります。 – Lou

+0

@Christine - 各テストを実行する前に、ファイルがC:\ tmpフォルダに存在しないことを確認しました。このプロセスは、ローカルソースからコピーしているときに機能しますが、ファイルがネットワーク上にある場合はコピーされません。 – Lou

答えて

3

です。おそらくあなたはパスが存在することを確認したでしょう。そうしている場合は、ネットワークドライブ文字がマップされていないコンテキストでプロセスが実行される可能性があります。

+0

サーバーパス\\ Hermes \ Apps \ tmp \ ArchiveTest \ Archive.mdbを使用してネットワークファイルを参照するようにコードを変更し、ファイルを今すぐ正常にコピーします。ドライブレターにマップされたサーバーパスを調べるには良い方法はありますか?これは、私がネットワークパスを知りませんが、ドライブ文字をマップしただけのコンピュータで実行されます。 – Lou

+0

申し訳ありませんが、あなたが尋ねた質問にちょうど答えました。最初にそれに対処できますか?別の質問がある場合は、別の質問をしてください。 –

+0

ありがとうございますが、あなたの助けが私を別の島に導いてくれました。ネットワークドライブにマップされたパスを取得できない場合は、このソリューションは役に立ちません。 – Lou

関連する問題