2013-08-26 58 views
0

我想在VB中編寫一個控制檯應用程序,它將允許我更改文件的名稱。VB控制檯應用程序重命名文件

我到目前爲止的代碼是:

Public Class Form1 

    Private Sub btnRename_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRename.Click 
     If txtpath.Text.Length <> 0 And txtName.Text.Length <> 0 Then 
      ' Change "c:\test.txt" to the path and filename for the file that 
      ' you want to rename. 
      ' txtpath contains the full path for the file 
      ' txtName contains the new name 

      My.Computer.FileSystem.RenameFile(txtpath.ToString, txtName.ToString) 
     Else 
      MessageBox.Show("Please Fill all Fields", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning) 
     End If 
    End Sub 

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click 
     txtpath.Clear() 
     txtName.Clear() 
    End Sub 
End Class 

但是當我嘗試運行它,我在這條線得到一個錯誤:

My.Computer.FileSystem.RenameFile(txtpath.ToString, txtName.ToString) 

有什麼建議?

回答

1

更改:

My.Computer.FileSystem.RenameFile(txtpath.ToString, txtName.ToString) 

到:

My.Computer.FileSystem.RenameFile(txtpath.Text.ToString, txtName.Text.ToString) 

解決該問題。

+0

了'.ToString'對於'.Text'物業有點大材小用,因爲它單曲已經是一個字符串。 –

1

問題是,您在文本框對象上執行.ToString,而不是文本框的值。我經常檢查以確保源文件和目標文件存在與否。另外,請確保您將文件的完整路徑傳遞到該函數以確保其正確執行。

嘗試這樣:

 If Not System.IO.File.Exists(txtpath.Text) Then 
      MsgBox("File not found!") 
     ElseIf System.IO.File.Exists(txtName.Text) Then 
      MsgBox("Target path already exists!") 
     Else 
      My.Computer.FileSystem.RenameFile(txtpath.Text, txtName.Text) 
     End If 
+0

謝謝,我完全忘記了錯誤檢查。 – Saint

相關問題