是否删除旧的(24小时前)VB.NET?
我有以下代码用于检查临时文件夹文件的大小,还有一个代码用于删除它们:是否删除旧的(24小时前)VB.NET?,vb.net,file,time,delete-file,Vb.net,File,Time,Delete File,我有以下代码用于检查临时文件夹文件的大小,还有一个代码用于删除它们: TemporaryFilesSize.Text = 0 For Each foundFile As String In My.Computer.FileSystem.GetFiles( _ My.Computer.FileSystem.SpecialDirectories.Temp, _ Microsoft.VisualBasic.FileIO.SearchOption.Sear
TemporaryFilesSize.Text = 0
For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
My.Computer.FileSystem.SpecialDirectories.Temp, _
Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.*")
Dim filesizeinbytes As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(foundFile)
TemporaryFilesSize.Text = TemporaryFilesSize.Text + filesizeinbytes.Length
Next
'Changing From Bytes To Mb Gb ...
Dim filesizeunit As String = ""
If TemporaryFilesSize.Text >= 1024 Then
filesizeunit = "Kb"
TemporaryFilesSize.Text = TemporaryFilesSize.Text / 1024
If TemporaryFilesSize.Text >= 1024 Then
filesizeunit = "Mb"
TemporaryFilesSize.Text = TemporaryFilesSize.Text / 1024
If TemporaryFilesSize.Text >= 1024 Then
filesizeunit = "Gb"
TemporaryFilesSize.Text = TemporaryFilesSize.Text / 1024
Else
End If
Else
End If
Else
filesizeunit = "Bytes"
End If
Dim filesize As Double = TemporaryFilesSize.Text
filesize = Math.Round(filesize, 2)
TemporaryFilesSize.Text = filesize
TemporaryFilesSize.Text = TemporaryFilesSize.Text & filesizeunit
有没有办法让我的代码获得24小时前创建的文件的大小或删除文件
我在stackoverflow上找到了很多答案,但在java、php中…您可以在FileInfo类中使用CreationTime属性来获取创建时间。如果该时间小于DateTime.Now.AddDays(-1),则可以使用System.IO.File.Delete删除该文件。当然,要删除该文件,您需要具有所需的权限。您可以阅读更多有关删除操作的信息 但是,您发送的代码似乎已损坏。对于长度为1024字节的三个文件,它会将所有文件长度添加到文本框中,如“102410241024”。你可以用这样的东西
For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
My.Computer.FileSystem.SpecialDirectories.Temp, _
Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.*")
Dim filesizeinbytes As System.IO.FileInfo = My.Computer.FileSystem.GetFileInfo(foundFile)
If filesizeinbytes.CreationTime < DateTime.Now.AddDays(-1) Then
System.IO.File.Delete(foundFile)
End If
TemporaryFilesSize.Text = TemporaryFilesSize.Text + filesizeinbytes.Length
Next
My.Computer.FileSystem.GetFiles()中的每个foundFile作为字符串的_
My.Computer.FileSystem.SpecialDirectories.Temp_
Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories,“***”)
Dim filesizeinbytes As System.IO.FileInfo=My.Computer.FileSystem.GetFileInfo(foundFile)
如果filesizeinbytes.CreationTime
另外,最好使用try-catch块进行文件删除。另一种方法是,可以使用
LINQ
LINQ
为您提供清晰易懂的代码
Dim di As New DirectoryInfo("yourDir")
Dim files = di.GetFiles()
files.AsParallel().Where(Function(f) f.CreationTime < DateTime.Now.AddDays(-1)).ForAll(Function(f) f.Delete())
Dim di作为新的DirectoryInfo(“yourDir”)
Dim files=di.GetFiles()
files.aspallel().Where(函数(f)f.CreationTime
上面代码中使用的类具有您需要的信息。太好了!!代码工作!!什么是try-catch块?我认为代码对我来说很好!它对我来说是临时文件大小4.11GB,因为filesizeinbytes是一个双字节,并且有+not&(使用vb.net 2010)