2013-08-25 30 views
0

當兩個組合框中都放入正確的值並執行代碼時,此代碼給了我一個ArgumentExeption。代碼基本上只是刪除一個文件,並用另一個文件夾中的修改版本替換它。給我一個參數的代碼?

以下是錯誤消息的確切文本: 類型「System.ArgumentException」的未處理的異常發生在Microsoft.VisualBasic.dll中

其他信息:以目錄分隔符字符的給定文件路徑結束。

下面的代碼:

If ComboBox1.Text = "Nokia" And ComboBox2.Text = "HTC" And My.Computer.FileSystem.FileExists("C:\Users\" + user + "\Documents\Fiddler2\Scripts\CustomRules.js") Then 
      My.Computer.FileSystem.DeleteFile("C:\Users\" + user + "\Documents\Fiddler2\Scripts\CustomRules.js") 
      My.Computer.FileSystem.CopyFile("Config\OEM\NokiaHTC.js", destinationFileName:="C:\Users\" + user + "\Documents\Fiddler2\Scripts\") 
     Else 
      My.Computer.FileSystem.CopyFile("Config\OEM\NokiaHTC.js", destinationFileName:="C:\Users\" + user + "\Documents\Fiddler2\Scripts\") 
     End If 
+0

參數異常中包含什麼消息? – JaredPar

+0

System.ArgumentException:給定的文件路徑以目錄分隔符結尾。 參數名稱:destinationFileName – user1893030

+0

那麼你有沒有嘗試採取明顯的行動,並從目標文件名中刪除目錄分隔符? –

回答

1

的問題是目標文件路徑以"\"值結束。這對於CopyFile API不合法。將其切換爲包含文件名,這應該解決問題

My.Computer.FileSystem.CopyFile(_ 
    "Config\OEM\NokiaHTC.js", _ 
    destinationFileName:="C:\Users\" + user + "\Documents\Fiddler2\Scripts\NokiaHTC.js") 
相關問題