I need some help wit my code, I've created a Visual Basic program that copies files and directories from the local drive to a network share, but I keep getting an error saying that access to path C:\Users\*username*\Documents\My Music
is denied. Even though I don't have a sub-directory called My Music
in the Documents
directory. Any help would be appreciated. Here is my code below:
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