Path 访问路径拒绝我的文件操作,我可以';我好像没办法
我试图在VB 2010 Express(.Net Framework 4.5)中构造一个简单的例程,从我的夜间db备份文件夹中删除旧文件。每当我尝试将只读状态设置为false(以确保可以删除)或删除文件时,我都会收到一个“System.ArgumentException:拒绝访问路径”错误 我已经为此奋斗了两天,并且多次重写代码,但结果总是一样的。当我查看指定文件的属性时,一切看起来都很完美 这里是一个属性的图像 问题已解决 我在执行第一个“fi”代码时收到的“ERROR\u ACCESS\u DENIED 5”属性根本不是错误。显然,与IsReadOnly一样,拒绝访问错误也是“fi”对象的属性。“5”表示“一切顺利” 当我第一次开始调试我的例程时,遇到了一个关于fi尺寸的严重错误,我看到了ACCESS_错误,并认为这就是问题所在 在随后几天的调试中,我一直试图在不检查代码是否正确的情况下消除ACCESS_错误 在这条线路的某个地方,我的代码变得没有bug,我从来没有发现,直到另一个程序员建议一些他知道有效的试用代码,我仍然遇到了ACCESS_错误 他指出,这并不是一个真正的错误,当我尝试我的代码时,它工作得很好(但仍然有错误_ACCESS _DENIED值5,这是可以的) 我从未在MSDN文档中找到任何指示ACCESS\u错误值的内容。值5列在一个文档中,我假设这是一个错误值,但显然不是。问题解决了 我在执行第一个“fi”代码时收到的“ERROR\u ACCESS\u DENIED 5”属性根本不是错误。显然,与IsReadOnly一样,拒绝访问错误也是“fi”对象的属性。“5”表示“一切顺利” 当我第一次开始调试我的例程时,遇到了一个关于fi尺寸的严重错误,我看到了ACCESS_错误,并认为这就是问题所在 在随后几天的调试中,我一直试图在不检查代码是否正确的情况下消除ACCESS_错误 在这条线路的某个地方,我的代码变得没有bug,我从来没有发现,直到另一个程序员建议一些他知道有效的试用代码,我仍然遇到了ACCESS_错误 他指出,这并不是一个真正的错误,当我尝试我的代码时,它工作得很好(但仍然有错误_ACCESS _DENIED值5,这是可以的) 我从未在MSDN文档中找到任何指示ACCESS\u错误值的内容。值5列在一个文档中,我假设这是一个错误值,但显然不是Path 访问路径拒绝我的文件操作,我可以';我好像没办法,path,infopath2010,readonly,Path,Infopath2010,Readonly,我试图在VB 2010 Express(.Net Framework 4.5)中构造一个简单的例程,从我的夜间db备份文件夹中删除旧文件。每当我尝试将只读状态设置为false(以确保可以删除)或删除文件时,我都会收到一个“System.ArgumentException:拒绝访问路径”错误 我已经为此奋斗了两天,并且多次重写代码,但结果总是一样的。当我查看指定文件的属性时,一切看起来都很完美 这里是一个属性的图像 问题已解决 我在执行第一个“fi”代码时收到的“ERROR\u ACCESS\u
_data {Microsoft.Win32.Win32Native.WIN32_RLE_ATTRIBUTE_DATA}
_datalnitialised 0
Attributes Archive {32}
CreationTime #5/17/20131:57:45 AM*
CreationTimeUtc #5/17/2013 5:57:45 AM#
Directory {C:\powerhome\Database\dbAutoBaks}
DirectoryName "C:\powerhome\Database\dbAutoBaks"
DisplayPath "ph-130517.db"
ERROR_ACCESS_DENIED 5
Exists True
Extension ".db"
FullName "C:\powerhome\Database\dbAutoBaks\ph-130517.db"
FullPath "C:\powerhome\Database\dbAutoBaks\ph-130517.db"
IsReadOnly False
LastAccessTime #5/17/20131:57:45 AM#
Imports System
Imports System.IO
Imports System.Security.AccessControl
Public Class phFileTrim
Private Sub fileTrim_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim text As String
Dim UserAccount As String = "Administrators"
Dim intdays As Integer = 30
Dim folderPath As String = "C:\powerhome\Database\dbAutoBaks"
Dim fi As IO.FileInfo = New IO.FileInfo(folderPath)
'Check out System.IO.FileInfo Class tutorial
For Each fi In New IO.DirectoryInfo(folderPath).GetFiles("*.*")
Try
fi.IsReadOnly = False
If fi.Exists Then
If (Now - fi.CreationTime).Days > intdays Then fi.Delete()
End If
Catch ex As Exception
text = "File Delete Failed: " & ex.ToString
MsgBox(text)
End Try
Next
Me.Close()
End Sub
End Class
Dim fi As New FileInfo("C:\powerhome\Database\dbAutoBaks\ph-130517.db")
Imports System
Imports System.IO
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim path1 As String = Path.GetTempFileName()
Dim finfo As FileInfo = New FileInfo(path1)
End Sub
End Class
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />