【发布时间】:2014-04-12 16:11:25
【问题描述】:
我需要一些关于我的代码的帮助,我创建了一个 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
【问题讨论】:
标签: vb.net