0

System.IO.File.Copy を使用して、serverA から serverB にファイルをコピーしています。これは、ファイルが存在する場合に正常に機能し、「ファイルが既に存在します」というエラーが表示されます。if file.exsist と何も使用せずにトラップしようとしました。

これが私のコードです。

'Save files to disk
 FileUpload1.SaveAs(Server.MapPath("../pdf/audits/" & FileName))
 'Local Server
 Dim localPath As String = "\\server01\folder1$\pdf\audits\"
 'Remote Server
 Dim remotePath As String = "\\server02\folder2$\pdf\audits\"
 System.IO.File.Copy(localPath + FileName, remotePath + FileName)

私は何が欠けていますか?

4

4 に答える 4

2

このようにコピー操作を変更するだけで、うまくいくはずです。最後のパラメータはファイルを上書きします。

System.IO.File.Copy(localPath + FileName, remotePath + FileName, True);
于 2012-11-15T21:12:15.933 に答える
1

すでに存在する場合は、上書きする 3 番目のパラメーターがあります。

System.IO.File.Copy(fileName, destName, overwrite);
于 2012-11-15T21:11:11.103 に答える
1

大きなファイルがある場合、毎回上書きする必要はありません。チェックを修正して、ファイルが存在するかどうかを確認してください。このようなもの(C#):

var localPath = @"C:\";
var remotePath = @"\\server\folder\";
var fileName = "test.txt";

if (!new System.IO.FileInfo(remotePath + fileName).Exists)
{
    System.IO.File.Copy(localPath + fileName, remotePath + fileName);
}
于 2012-11-15T21:26:25.607 に答える
-1
     I got it working with help from RLG.  

       'Save files to disk
        FileUpload1.SaveAs(Server.MapPath("../pdf/audits" & FileName))
        'SIGAR Public CMS
        Dim localPath As String = "\\hqdadev01\sigar_cms$\pdf\audits\"
        'SIGAR Dev
        Dim remotePath As String = "\\hqdadev02\sigar_public$\pdf\audits\"

これを追加して確認しました。

    If Not New System.IO.FileInfo(remotePath + FileName).Exists Then
        File.Copy(localPath + FileName, remotePath + FileName, overwrite)
    End If
于 2012-11-15T22:25:54.877 に答える