1

当在两个 ComboBox 中放入正确的值并执行代码时,此代码给了我一个 ArgumentExeption。该代码基本上只是删除一个文件并将其替换为从另一个文件夹中获取的修改版本。

以下是错误消息的确切文本:Microsoft.VisualBasic.dll 中发生了“System.ArgumentException”类型的未处理异常

附加信息:给定的文件路径以目录分隔符结尾。

这是代码:

 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
4

1 回答 1

1

问题是目标文件路径以一个"\"值结尾。CopyFile这对于API是不合法的。将其切换为包含文件名,这应该可以解决问题

My.Computer.FileSystem.CopyFile( _
  "Config\OEM\NokiaHTC.js", _
  destinationFileName:="C:\Users\" + user + "\Documents\Fiddler2\Scripts\NokiaHTC.js") 
于 2013-08-25T16:31:18.043 回答