我需要一些幫助,我的代碼,我已經創建了一個Visual Basic程序,將文件和目錄從本地驅動器複製到網絡共享,但我不斷收到一個錯誤,指出訪問路徑C:\Users\*username*\Documents\My Music
被拒絕。即使我在Documents
目錄中沒有名爲My Music
的子目錄。任何幫助,將不勝感激。這裏是我的代碼如下:複製目錄時的權限問題
Imports System.IO
Public Class Choices
Private Sub Choices_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Public Sub btnDocuments_Click(sender As Object, e As EventArgs) Handles btnDocuments.Click
Dim docsDirectory, destdocsDirectory, userDirectory, userName, hDrive, mydocsDirectory, destmydocsDirectory As String
'Function to pull user profile path
hDrive = Environment.GetEnvironmentVariable("homedrive")
userName = Environment.GetEnvironmentVariable("username")
userDirectory = Environment.GetEnvironmentVariable("userprofile")
docsDirectory = userDirectory + "\Documents"
destdocsDirectory = hDrive + userName + "\My Files"
mydocsDirectory = "C:\My Documents"
destmydocsDirectory = hDrive + userName + "\My Documents"
'Used for error checking
'MessageBox.Show(sourceDirectory + vbCrLf + destDirectory)
If (My.Computer.FileSystem.DirectoryExists(destdocsDirectory)) Then
For Each foundFile As String In My.Computer.FileSystem.GetFiles(docsDirectory, _
FileIO.SearchOption.SearchAllSubDirectories, "*.*")
Select Case LCase(Path.GetExtension(foundFile))
Case ".mks"
Case ".wav"
Case ".jpg"
Case ".wmv"
Case ".lnk"
Case ".png"
Case ".exe"
Case ".jpeg"
Case ".dll"
Case ".msi"
Case ".bmp"
Case ".url"
Case ".log"
Case ".dat"
Case ".ini"
Case ".propdesc"
Case ".arx"
Case ".hdi"
Case ".mc3"
Case ".css"
Case ".gif"
Case ".tif"
Case ".tiff"
Case ".htm"
Case ".chm"
Case ".pc3"
Case ".mp3"
Case ".mp4"
Case Else
My.Computer.FileSystem.CopyFile(foundFile, destdocsDirectory & "\" & Path.GetFileName(foundFile), showUI:=FileIO.UIOption.AllDialogs)
End Select
Next
Else
My.Computer.FileSystem.CreateDirectory(destdocsDirectory)
For Each foundFile As String In My.Computer.FileSystem.GetFiles(docsDirectory, _
FileIO.SearchOption.SearchAllSubDirectories, "*.*")
Select Case LCase(Path.GetExtension(foundFile))
Case ".mks"
Case ".wav"
Case ".jpg"
Case ".wmv"
Case ".lnk"
Case ".png"
Case ".exe"
Case ".jpeg"
Case ".dll"
Case ".msi"
Case ".bmp"
Case ".url"
Case ".log"
Case ".dat"
Case ".ini"
Case ".propdesc"
Case ".arx"
Case ".hdi"
Case ".mc3"
Case ".css"
Case ".gif"
Case ".tif"
Case ".tiff"
Case ".htm"
Case ".chm"
Case ".pc3"
Case ".mp3"
Case ".mp4"
Case Else
My.Computer.FileSystem.CopyFile(foundFile, destdocsDirectory & "\" & Path.GetFileName(foundFile), showUI:=FileIO.UIOption.AllDialogs)
End Select
Next
End If
If (My.Computer.FileSystem.DirectoryExists(mydocsDirectory)) Then
For Each foundFile As String In My.Computer.FileSystem.GetFiles(mydocsDirectory, _
FileIO.SearchOption.SearchAllSubDirectories, "*.*")
Select Case LCase(Path.GetExtension(foundFile))
Case ".mks"
Case ".wav"
Case ".jpg"
Case ".wmv"
Case ".lnk"
Case ".png"
Case ".exe"
Case ".jpeg"
Case ".dll"
Case ".msi"
Case ".bmp"
Case ".url"
Case ".log"
Case ".dat"
Case ".ini"
Case ".propdesc"
Case ".arx"
Case ".hdi"
Case ".mc3"
Case ".css"
Case ".gif"
Case ".tif"
Case ".tiff"
Case ".htm"
Case ".chm"
Case ".pc3"
Case "."
Case Else
My.Computer.FileSystem.CopyFile(foundFile, destmydocsDirectory & "\" & Path.GetFileName(foundFile), showUI:=FileIO.UIOption.AllDialogs)
End Select
Next
Else
MessageBox.Show(mydocsDirectory + "Does not exist")
End If
End Sub
Private Sub btnDesktop_Click(sender As Object, e As EventArgs) Handles btnDesktop.Click
Dim deskDirectory, destdeskDirectory, userDirectory, userName, hDrive As String
hDrive = Environment.GetEnvironmentVariable("homedrive")
userName = Environment.GetEnvironmentVariable("username")
userDirectory = Environment.GetEnvironmentVariable("userprofile")
deskDirectory = userDirectory + "\Desktop"
destdeskDirectory = hDrive + userName + "\Desktop"
If (My.Computer.FileSystem.DirectoryExists(deskDirectory)) Then
For Each foundFile As String In My.Computer.FileSystem.GetFiles(deskDirectory, _
FileIO.SearchOption.SearchAllSubDirectories, "*.*")
Select Case LCase(Path.GetExtension(foundFile))
Case ".mks"
Case ".wav"
Case ".jpg"
Case ".wmv"
Case ".lnk"
Case ".png"
Case ".exe"
Case ".jpeg"
Case ".dll"
Case ".msi"
Case ".bmp"
Case ".url"
Case ".log"
Case ".dat"
Case ".ini"
Case ".propdesc"
Case ".arx"
Case ".hdi"
Case ".mc3"
Case ".css"
Case ".gif"
Case ".tif"
Case ".tiff"
Case ".htm"
Case ".chm"
Case ".pc3"
Case "."
Case Else
My.Computer.FileSystem.CopyDirectory(foundFile, destdeskDirectory & "\" & Path.GetFileName(foundFile), showUI:=FileIO.UIOption.AllDialogs)
End Select
Next
End If
End Sub
End Class
您可以用http://msdn.microsoft.com/en-us/library/14tx8hby%28v=vs.110%29.aspx – SomeNickName