2012-11-28 63 views
0

當我使用此代碼時,它不會拋出任何錯誤,但它仍然不會複製任何內容。有任何想法嗎?。File.Copy - DirectoryNotFoundException未處理

//string spath = string.Format("S:\\ 0A36303/user:admin"); 
       DateTime theDate = dateTimePicker1.Value.Date; 
       DirectoryInfo Dir = new DirectoryInfo("S:"); 
       string dircreate = string.Format(@"N:\{0:MM-dd-yyyy}\" + label1.Text + "LogFiles", dateTimePicker1.Value.Date, label1.Text); 
       DirectoryInfo target = new DirectoryInfo(dircreate); 


       FileInfo[] fis = Dir.GetFiles(".txt", SearchOption.AllDirectories); 
       foreach (FileInfo fi in fis) 
       { 
        if (fi.LastWriteTime.Date == theDate) 
        { 
         File.Copy(fi.FullName, target.FullName + @"\" + fi.Name, true); 
        } 

       } 
      } 
     } 
    } 
+0

您能否確認S:\ pc.log存在 –

+0

是文件存在,但該文件實際上名爲pchost.txt和pcaudit.txt。 – user1836162

回答

0

嘗試使用完整的UNC路徑來訪問該文件:

DirectoryInfo Dir = new DirectoryInfo(@"\\server\\share\\pathtofile"); 
+0

我已更新代碼,也許這有助於。 – user1836162

0

兩種可能出現的問題浮現在腦海中:

  1. S:\PC.log文件不存在=>您不能複製不存在的文件
  2. 您正在執行您的代碼的過程沒有對指定文件夾的讀取權限(S:) 。看起來像一個網絡共享。如果您在ASP.NET應用程序中運行此代碼,則該進程可能沒有對此遠程共享的讀取權限=>您無法複製您無權訪問的文件。
+0

無論何時映射驅動器,我都會輸入管理員憑據,是否有可能在複製時還需要信用證? – user1836162

+0

您是否在ASP.NET應用程序中運行此代碼?如果是這樣,請確保您已將足夠的權限授予您配置應用程序以在其下運行的帳戶。 –

+0

這是窗體形式 – user1836162