VB.NET对路径的访问被拒绝

VB.NET对路径的访问被拒绝,vb.net,file-io,Vb.net,File Io,NET创建文件夹 我想创建一个文件夹来保存数据和 我想将这些数据复制到其他文件夹。 但是,无论何时,我都会尝试创建文件夹并生成文件 我正在访问路径“路径”被拒绝错误 我试图禁用文件夹上的只读选项,但无效 我试过这种方法,但没用 将其保存在程序文件的文件夹下 我正在将数据复制到“C:结果” 但是,它不起作用。。我不知道为什么 您能帮我创建文件夹并将数据复制到新文件夹吗 问题在于,在代码的前几行中,您创建了临时目录。这将相对于程序的执行路径创建。在我的测试中,它在/bin/Debug/文件夹中创建了

NET创建文件夹

我想创建一个文件夹来保存数据和 我想将这些数据复制到其他文件夹。 但是,无论何时,我都会尝试创建文件夹并生成文件 我正在访问路径“路径”被拒绝错误

我试图禁用文件夹上的只读选项,但无效

我试过这种方法,但没用

将其保存在程序文件的文件夹下 我正在将数据复制到“C:结果”

但是,它不起作用。。我不知道为什么

您能帮我创建文件夹并将数据复制到新文件夹吗


问题在于,在代码的前几行中,您创建了临时目录。这将相对于程序的执行路径创建。在我的测试中,它在/bin/Debug/文件夹中创建了它

然后尝试更改为默认的direct和temp文件夹名称。该文件夹不是在此默认目录下创建的,因此错误来自此目录

在创建目录之前,需要将defaultDir与temp dir组合起来

    Private Sub createTimedFolder()
    Dim folder As String = Now.ToString("MM_dd_yyyy_hh_mm_ss")
    Dim CompletePath As String = Path.Combine(defaultDir, folder)

    Dim G_Folder As String = CompletePath
    '  MsgBox(folder)
    If (Not System.IO.Directory.Exists(CompletePath)) Then
        System.IO.Directory.CreateDirectory(CompletePath)

    Else

    End If
    ' MsgBox(folder & " created ")

    Try
        'Set the current directory.
        Directory.SetCurrentDirectory(CompletePath)
    Catch e As DirectoryNotFoundException
        Console.WriteLine("The specified directory does not exist. {0}", e)
    End Try


    Dim LogBook = folder & "log.txt"
    Dim logwriter As New System.IO.StreamWriter(LogBook)

    logwriter.Write("hello")
    logwriter.Close()

试试这个,别忘了进口

Imports Microsoft.Office.Interop
Imports System.IO
    Private Sub CreateTimedFloder()
            'You may change C:\ to the location of the folder that 
            'you want to create.
            Dim Directory As String = "C:\" & DateTime.Now.ToString("MM_dd_yyyy") & "_" & DateTime.Now.ToString("hh_mm_ss")
            Dim CompletePath As String = Directory & "\"

            If Dir(Directory, vbDirectory) = "" Then
                MkDir(Directory)
            End If

            Dim LogBook = File.Create(CompletePath & "Log.txt")
            Dim logwriter As New System.IO.StreamWriter(LogBook)

            logwriter.Write("hello")
            logwriter.Close()

        End Sub

您必须为特定目录授予权限(读、写用户权限)。
例如,如果要在应用程序中创建目录,则必须对应用程序设置权限(读、写)

在我看来,在创建目录时,您似乎没有指定完整路径,而只是指定文件夹名称。您确定它没有在您不希望的地方创建目录吗?你有没有尝试过搜索你的硬盘,以确保它没有在你看不到的地方创建它?是的,看起来不像一个完整的路径。也可能存在权限问题。您是否考虑将其保存到用户的文档文件夹中?练习比存根更好。如果要保存到用户docsI,请告诉我权限问题。当我用其他笔记本电脑测试时,它是工作文件。但这台笔记本电脑不行。有趣的是,我可以用unix命令创建文件夹。你是否使用完全的管理员权限运行应用程序?它仍然不工作:(.如果我使用VB 2012运行软件,那么它可以工作,但是如果我使用installpackage并运行sw,那么它会给出访问错误:(确切的错误是什么,是哪一行抛出的?
Imports Microsoft.Office.Interop
Imports System.IO
    Private Sub CreateTimedFloder()
            'You may change C:\ to the location of the folder that 
            'you want to create.
            Dim Directory As String = "C:\" & DateTime.Now.ToString("MM_dd_yyyy") & "_" & DateTime.Now.ToString("hh_mm_ss")
            Dim CompletePath As String = Directory & "\"

            If Dir(Directory, vbDirectory) = "" Then
                MkDir(Directory)
            End If

            Dim LogBook = File.Create(CompletePath & "Log.txt")
            Dim logwriter As New System.IO.StreamWriter(LogBook)

            logwriter.Write("hello")
            logwriter.Close()

        End Sub